From 54e7dd28e54b4e616ef9a4c40722dbe3b988c043 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 15 Nov 2022 09:21:21 +1100 Subject: [PATCH] New Crowdin updates (#3904) * updated translation base * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin * Fix: New translations django.po from Crowdin Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- InvenTree/locale/cs/LC_MESSAGES/django.po | 4077 +++++++++-------- InvenTree/locale/da/LC_MESSAGES/django.po | 4077 +++++++++-------- InvenTree/locale/de/LC_MESSAGES/django.po | 4177 +++++++++-------- InvenTree/locale/el/LC_MESSAGES/django.po | 4077 +++++++++-------- InvenTree/locale/en/LC_MESSAGES/django.po | 759 ++-- InvenTree/locale/es/LC_MESSAGES/django.po | 4077 +++++++++-------- InvenTree/locale/es_MX/LC_MESSAGES/django.po | 759 ++-- InvenTree/locale/fa/LC_MESSAGES/django.po | 4077 +++++++++-------- InvenTree/locale/fr/LC_MESSAGES/django.po | 4133 +++++++++-------- InvenTree/locale/he/LC_MESSAGES/django.po | 4077 +++++++++-------- InvenTree/locale/hu/LC_MESSAGES/django.po | 4209 ++++++++++-------- InvenTree/locale/id/LC_MESSAGES/django.po | 4077 +++++++++-------- InvenTree/locale/it/LC_MESSAGES/django.po | 4157 +++++++++-------- InvenTree/locale/ja/LC_MESSAGES/django.po | 4077 +++++++++-------- InvenTree/locale/ko/LC_MESSAGES/django.po | 4077 +++++++++-------- InvenTree/locale/nl/LC_MESSAGES/django.po | 4135 +++++++++-------- InvenTree/locale/no/LC_MESSAGES/django.po | 4129 +++++++++-------- InvenTree/locale/pl/LC_MESSAGES/django.po | 4171 +++++++++-------- InvenTree/locale/pt/LC_MESSAGES/django.po | 4205 +++++++++-------- InvenTree/locale/pt_br/LC_MESSAGES/django.po | 759 ++-- InvenTree/locale/ru/LC_MESSAGES/django.po | 4157 +++++++++-------- InvenTree/locale/sv/LC_MESSAGES/django.po | 4077 +++++++++-------- InvenTree/locale/th/LC_MESSAGES/django.po | 4077 +++++++++-------- InvenTree/locale/tr/LC_MESSAGES/django.po | 4075 +++++++++-------- InvenTree/locale/vi/LC_MESSAGES/django.po | 4077 +++++++++-------- InvenTree/locale/zh/LC_MESSAGES/django.po | 4139 +++++++++-------- 26 files changed, 52330 insertions(+), 44558 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index d682f24327..0d03f4bbb7 100644 --- a/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:03\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:51\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "API endpoint nebyl nalezen" @@ -25,27 +25,27 @@ msgstr "API endpoint nebyl nalezen" msgid "Error details can be found in the admin panel" msgstr "Podrobnosti o chybě lze nalézt v panelu administrace" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "Zadejte datum" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "" @@ -122,43 +122,43 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "Nevyplněné výrobní číslo" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "Nenalezena žádná výrobní čísla" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "" @@ -194,7 +194,7 @@ msgstr "Chybějící soubor" msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "Příloha" msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "Odkaz" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "Odkaz na externí URL" @@ -228,12 +229,12 @@ msgstr "Komentář" msgid "File comment" msgstr "Komentář k souboru" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "Uživatel" @@ -270,44 +271,45 @@ msgstr "Chyba při přejmenování souboru" msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "Název" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "Popis" @@ -320,7 +322,7 @@ msgid "parent" msgstr "nadřazený" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "Cesta" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "" @@ -352,187 +354,187 @@ msgstr "Chyba serveru" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "Musí být platné číslo" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "Název souboru" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "Neplatná hodnota" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "Datový soubor" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "Vyberte datový soubor k nahrání" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "Nepodporovaný typ souboru" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "Soubor je příliš velký" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "V souboru nebyly nalezeny žádné sloupce" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "V souboru nebyly nalezeny žádné řádky s daty" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "Nebyly zadány žádné řádky s daty" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "Nebyly zadány žádné sloupce s daty" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Chybí povinný sloupec: '{name}'" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicitní sloupec: '{col}'" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "Čeština" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "Němčina" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "Řečtina" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "Angličtina" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "Španělština" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "Španělština (Mexiko)" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "Farsi / Perština" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "Francouzština" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "Hebrejština" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "Maďarština" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "Italština" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "Japonština" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "Korejština" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "Nizozemština" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "Norština" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "Polština" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "Portugalština" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "Portugalština (Brazilská)" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "Ruština" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "Švédština" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "Thajština" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "Turečtina" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "Vietnamština" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "Čínština" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "Kontrola procesů na pozadí se nezdařila" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "Email backend není nakonfigurován" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "Kontroly zdraví systému InvenTree selhaly" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "Nevyřízeno" @@ -561,8 +563,8 @@ msgstr "Ztraceno" msgid "Returned" msgstr "Vráceno" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "Odesláno" @@ -646,7 +648,7 @@ msgstr "Rozdělit od nadřazené položky" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "" @@ -654,7 +656,7 @@ msgstr "" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "Odesláno zákazníkovi" @@ -746,7 +748,7 @@ msgstr "" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "" @@ -874,8 +877,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "" @@ -883,12 +886,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "" @@ -896,7 +899,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "" @@ -929,7 +932,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "" @@ -968,11 +971,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -994,18 +997,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "" @@ -1015,12 +1018,10 @@ msgstr "" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "" @@ -1087,10 +1092,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1102,9 +1107,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "" @@ -1120,7 +1125,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "" @@ -1213,7 +1219,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "" @@ -1229,8 +1235,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "" @@ -1246,11 +1252,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1267,7 +1273,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "" @@ -1401,29 +1407,29 @@ msgstr "" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "" @@ -1449,8 +1455,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "" @@ -1462,14 +1468,14 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "" @@ -1527,7 +1533,7 @@ msgstr "" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1617,7 +1623,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Jméno společnosti" @@ -1902,9 +1908,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "" @@ -1912,9 +1918,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "" @@ -1922,8 +1929,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "" @@ -1931,7 +1938,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "" @@ -1939,8 +1946,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "" @@ -1948,10 +1955,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "" @@ -1959,10 +1966,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2816,298 +2869,301 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "" @@ -3162,14 +3218,14 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "" @@ -3203,7 +3259,7 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "" @@ -3232,7 +3288,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "" @@ -3246,7 +3302,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,7 +4185,8 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" msgstr "" #: order/templates/order/order_base.html:65 @@ -4162,7 +4194,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "" + +#: part/admin.py:21 +msgid "Part Description" +msgstr "" + +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "" + +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" + +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" + +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" + +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "" + +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "" + +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 +#: templates/js/translated/table_filters.js:68 +msgid "On Order" +msgstr "" + +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "" + +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "" + +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "" + +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" + +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:23 part/templates/part/category.html:134 +#: part/templates/part/category.html:154 +#: part/templates/part/category_sidebar.html:9 +#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 +#: templates/InvenTree/settings/sidebar.html:41 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 +#: templates/navbar.html:24 users/models.py:38 +msgid "Parts" +msgstr "" + +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:536 +#: part/api.py:552 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:554 +#: part/api.py:570 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:640 +#: part/api.py:656 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:777 +#: part/api.py:814 msgid "Valid" msgstr "" -#: part/api.py:778 +#: part/api.py:815 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:784 +#: part/api.py:821 msgid "This option must be selected" msgstr "" -#: part/api.py:1207 +#: part/api.py:1261 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1211 +#: part/api.py:1265 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1226 +#: part/api.py:1280 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 msgid "This field is required" msgstr "" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 msgid "Default Location" msgstr "" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 +#: part/bom.py:143 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 msgid "Available Stock" msgstr "" -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 -#: templates/js/translated/table_filters.js:68 -msgid "On Order" -msgstr "" - #: part/forms.py:41 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:99 +#: part/models.py:117 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:85 +#: part/models.py:125 stock/models.py:101 msgid "Icon" msgstr "" -#: part/models.py:108 stock/models.py:86 +#: part/models.py:126 stock/models.py:102 msgid "Icon (optional)" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 +#: part/models.py:141 part/templates/part/category.html:129 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 -#: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 -#: templates/navbar.html:24 users/models.py:38 -msgid "Parts" -msgstr "" - -#: part/models.py:429 +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "" msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "" msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -10738,35 +11069,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po index a7772dc9d4..a84bc97cc6 100644 --- a/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:03\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:51\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "API endpoint ikke fundet" @@ -25,27 +25,27 @@ msgstr "API endpoint ikke fundet" msgid "Error details can be found in the admin panel" msgstr "Fejloplysninger kan findes i admin panelet" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "Angiv dato" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "Bemærkninger" @@ -122,43 +122,43 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "" @@ -194,7 +194,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "" @@ -228,12 +229,12 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "" @@ -270,44 +271,45 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "" @@ -320,7 +322,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "" @@ -352,187 +354,187 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "" @@ -561,8 +563,8 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "" @@ -646,7 +648,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "" @@ -654,7 +656,7 @@ msgstr "" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "" @@ -746,7 +748,7 @@ msgstr "" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "" @@ -874,8 +877,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "" @@ -883,12 +886,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "" @@ -896,7 +899,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "" @@ -929,7 +932,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "" @@ -968,11 +971,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -994,18 +997,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "" @@ -1015,12 +1018,10 @@ msgstr "" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "" @@ -1087,10 +1092,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1102,9 +1107,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "" @@ -1120,7 +1125,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "" @@ -1213,7 +1219,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "" @@ -1229,8 +1235,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "" @@ -1246,11 +1252,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1267,7 +1273,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "" @@ -1401,29 +1407,29 @@ msgstr "" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "" @@ -1449,8 +1455,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "" @@ -1462,14 +1468,14 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "" @@ -1527,7 +1533,7 @@ msgstr "" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1617,7 +1623,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" @@ -1902,9 +1908,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "" @@ -1912,9 +1918,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "" @@ -1922,8 +1929,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "" @@ -1931,7 +1938,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "" @@ -1939,8 +1946,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "" @@ -1948,10 +1955,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "" @@ -1959,10 +1966,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2816,298 +2869,301 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "" @@ -3162,14 +3218,14 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "" @@ -3203,7 +3259,7 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "" @@ -3232,7 +3288,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "" @@ -3246,7 +3302,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,7 +4185,8 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" msgstr "" #: order/templates/order/order_base.html:65 @@ -4162,7 +4194,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "" + +#: part/admin.py:21 +msgid "Part Description" +msgstr "" + +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "" + +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" + +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" + +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" + +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "" + +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "" + +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 +#: templates/js/translated/table_filters.js:68 +msgid "On Order" +msgstr "" + +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "" + +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "" + +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "" + +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" + +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:23 part/templates/part/category.html:134 +#: part/templates/part/category.html:154 +#: part/templates/part/category_sidebar.html:9 +#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 +#: templates/InvenTree/settings/sidebar.html:41 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 +#: templates/navbar.html:24 users/models.py:38 +msgid "Parts" +msgstr "" + +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:536 +#: part/api.py:552 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:554 +#: part/api.py:570 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:640 +#: part/api.py:656 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:777 +#: part/api.py:814 msgid "Valid" msgstr "" -#: part/api.py:778 +#: part/api.py:815 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:784 +#: part/api.py:821 msgid "This option must be selected" msgstr "" -#: part/api.py:1207 +#: part/api.py:1261 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1211 +#: part/api.py:1265 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1226 +#: part/api.py:1280 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 msgid "This field is required" msgstr "" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 msgid "Default Location" msgstr "" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 +#: part/bom.py:143 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 msgid "Available Stock" msgstr "" -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 -#: templates/js/translated/table_filters.js:68 -msgid "On Order" -msgstr "" - #: part/forms.py:41 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:99 +#: part/models.py:117 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:85 +#: part/models.py:125 stock/models.py:101 msgid "Icon" msgstr "" -#: part/models.py:108 stock/models.py:86 +#: part/models.py:126 stock/models.py:102 msgid "Icon (optional)" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 +#: part/models.py:141 part/templates/part/category.html:129 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 -#: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 -#: templates/navbar.html:24 users/models.py:38 -msgid "Parts" -msgstr "" - -#: part/models.py:429 +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "" msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "" msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -10738,35 +11069,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 962ac1b999..d0e28e1624 100644 --- a/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:03\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:51\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "API-Endpunkt nicht gefunden" @@ -25,27 +25,27 @@ msgstr "API-Endpunkt nicht gefunden" msgid "Error details can be found in the admin panel" msgstr "Fehlerdetails finden Sie im Admin-Panel" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "Datum eingeben" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "Notizen" @@ -122,43 +122,43 @@ msgstr "Remote-Server gab leere Antwort zurück" msgid "Supplied URL is not a valid image file" msgstr "Angegebene URL ist kein gültiges Bild" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "Keine Seriennummer angegeben" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Ungültiger Gruppenbereich: {g}" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Ungültige Gruppensequenz: {g}" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "Keine Seriennummern gefunden" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Anzahl der eindeutigen Seriennummern ({s}) muss mit der Anzahl ({q}) übereinstimmen" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "Entferne HTML-Tags von diesem Wert" @@ -194,7 +194,7 @@ msgstr "Fehlende Datei" msgid "Missing external link" msgstr "Fehlender externer Link" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "Anhang" msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "Link" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "Link zu einer externen URL" @@ -228,12 +229,12 @@ msgstr "Kommentar" msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "Benutzer" @@ -270,44 +271,45 @@ msgstr "Fehler beim Umbenennen" msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "Name" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "Beschreibung" @@ -320,7 +322,7 @@ msgid "parent" msgstr "Eltern" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "Pfad" @@ -332,7 +334,7 @@ msgstr "Barcode-Daten" msgid "Third party barcode data" msgstr "Drittanbieter-Barcode-Daten" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "Barcode-Hash" @@ -352,187 +354,187 @@ msgstr "Serverfehler" msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "Dateiname" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "Ungültiger Wert" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "Datendatei" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "Neue Datei zum Hochladen auswählen" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "Nicht unterstütztes Dateiformat" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "Datei ist zu groß" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "Keine Spalten in der Datei gefunden" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "Keine Datensätze in der Datei gefunden" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "Keine Zeilen ausgewählt" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "Keine Spalten angegeben" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Erforderliche Spalte '{name}' fehlt" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Doppelte Spalte: '{col}'" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "URL der Remote-Bilddatei" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "Tschechisch" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "Dänisch" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "Deutsch" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "Griechisch" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "Englisch" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "Spanisch" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "Spanisch (Mexikanisch)" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "Persisch" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "Französisch" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "Hebräisch" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "Ungarisch" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "Italienisch" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "Japanisch" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "Koreanisch" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "Niederländisch" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "Norwegisch" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "Polnisch" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "Portugiesisch" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "Portugiesisch (Brasilien)" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "Schwedisch" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "Thailändisch" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "Türkisch" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "Vietnamesisch" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "Chinesisch" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "E-Mail-Backend nicht konfiguriert" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "InvenTree Status-Überprüfung fehlgeschlagen" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "Ausstehend" @@ -561,8 +563,8 @@ msgstr "Verloren" msgid "Returned" msgstr "Zurückgegeben" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "Versendet" @@ -646,7 +648,7 @@ msgstr "Vom übergeordneten Element geteilt" msgid "Split child item" msgstr "Unterobjekt geteilt" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "Lagerartikel zusammengeführt" @@ -654,7 +656,7 @@ msgstr "Lagerartikel zusammengeführt" msgid "Converted to variant" msgstr "In Variante umgewandelt" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "Zum Kunden geschickt" @@ -746,7 +748,7 @@ msgstr "Bauauftrag" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "Bauaufträge" msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "Referenz" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "Teil" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "Quell-Lagerort" @@ -874,8 +877,8 @@ msgstr "Bauauftrags-Status" msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "Losnummer" @@ -883,12 +886,12 @@ msgstr "Losnummer" msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "Erstelldatum" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" @@ -896,7 +899,7 @@ msgstr "geplantes Fertigstellungsdatum" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "Fertigstellungsdatum" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "Verantwortlicher Benutzer" @@ -929,7 +932,7 @@ msgstr "Nutzer der für diesen Bauauftrag zuständig ist" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "Externer Link" @@ -968,11 +971,11 @@ msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete 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:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" @@ -994,18 +997,18 @@ msgstr "Bauauftrag" msgid "Build to allocate parts" msgstr "Bauauftrag starten um Teile zuzuweisen" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "Lagerartikel" @@ -1015,12 +1018,10 @@ msgstr "Quell-Lagerartikel" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "Quell-Lagerartikel" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "Anzahl" @@ -1087,10 +1092,10 @@ msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen" msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -1102,9 +1107,9 @@ msgstr "Ganzzahl für verfolgbare Teile erforderlich" 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:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "Seriennummer" @@ -1120,7 +1125,7 @@ msgstr "Seriennummern automatisch zuweisen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "Lagerort" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "Status" @@ -1213,7 +1219,7 @@ msgstr "Akzeptieren, dass Lagerartikel diesem Bauauftrag nicht vollständig zuge msgid "Required stock has not been fully allocated" msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" @@ -1229,8 +1235,8 @@ msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" msgid "Build order has incomplete outputs" msgstr "Bauauftrag hat unvollständige Aufbauten" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "Stücklisten-Position" @@ -1246,11 +1252,11 @@ msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen" 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:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" @@ -1267,7 +1273,7 @@ msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben wer msgid "This stock item has already been allocated to this build output" msgstr "Dieser Lagerbestand wurde bereits diesem Endprodukt zugewiesen" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "Zieldatum" @@ -1401,29 +1407,29 @@ msgstr "Bauauftrag war fällig am %(target)s" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "Überfällig" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "Fertig" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "Auftrag" @@ -1449,8 +1455,8 @@ msgstr "Ausgangs-Lager" msgid "Stock can be taken from any available location." msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden." -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "Ziel-Lager" @@ -1462,14 +1468,14 @@ msgstr "Ziel-Lagerort nicht angegeben" msgid "Allocated Parts" msgstr "Zugewiesene Teile" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "Losnummer" @@ -1527,7 +1533,7 @@ msgstr "Benötigte Teile bestellen" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "Teile bestellen" @@ -1597,10 +1603,10 @@ msgstr "Fertiggestellte Endprodukte" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Anhänge" @@ -1617,7 +1623,7 @@ msgstr "Zuordnung abgeschlossen" msgid "All untracked stock items have been allocated" msgstr "Alle nicht verfolgten Lagerartikel wurden zugewiesen" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "Neuer Bauauftrag" @@ -1734,7 +1740,7 @@ msgstr "Anzeige von `Über` einschränken" msgid "Show the `about` modal only to superusers" msgstr "Zeige das `Über` Fenster nur Administratoren" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Firmenname" @@ -1902,9 +1908,9 @@ msgstr "Kategorie-Parametervorlage kopieren" msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "Vorlage" @@ -1912,9 +1918,10 @@ msgstr "Vorlage" msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "Baugruppe" @@ -1922,8 +1929,8 @@ msgstr "Baugruppe" msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "Komponente" @@ -1931,7 +1938,7 @@ msgstr "Komponente" msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "Kaufbar" @@ -1939,8 +1946,8 @@ msgstr "Kaufbar" msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "Verkäuflich" @@ -1948,10 +1955,10 @@ msgstr "Verkäuflich" msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "Nachverfolgbar" @@ -1959,10 +1966,10 @@ msgstr "Nachverfolgbar" msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "Virtuell" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "Importassistent in einigen Teil-Ansichten anzeigen" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "Preis in Formularen anzeigen" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "Teilpreis in einigen Formularen anzeigen" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "Preis in Stückliste anzeigen" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "Preisinformationen in Stücklisten Tabellen einbeziehen" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "Preisverlauf anzeigen" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "Historische Preise für Teil anzeigen" - -#: common/models.py:1089 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "Ausgangsbestand erstellen" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "Ausgangsbestand beim Erstellen von Teilen erstellen" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "Interne Preise" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "Interne Preise für Teile aktivieren" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "Interner Preis als Stückliste-Preis" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "Interner Preis (falls vorhanden) in Stücklisten-Preisberechnungen verwenden" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "Anzeigeformat für Teilenamen" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "Format für den Namen eines Teiles" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" -msgstr "Labeldruck aktivieren" - -#: common/models.py:1132 -msgid "Enable label printing from the web interface" -msgstr "Labeldruck über die Website aktivieren" - -#: common/models.py:1138 -msgid "Label Image DPI" -msgstr "Label Bild DPI" - -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "Berichte aktivieren" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "Berichterstellung aktivieren" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "Entwickler-Modus" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "Berichte im Entwickler-Modus generieren (als HTML)" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "Seitengröße" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "Standardseitenformat für PDF-Bericht" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "Testberichte aktivieren" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "Erstellung von Test-Berichten aktivieren" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "Testberichte anhängen" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "Beim Drucken eines Testberichts dem zugehörigen Lagerbestand eine Kopie des Testberichts beifügen" - -#: common/models.py:1187 -msgid "Globally Unique Serials" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "Losnummer Vorlage" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" +msgstr "" -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "Vorlage für die Generierung von Standard-Losnummern für Lagerbestände" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "Bestands-Ablauf" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "Ablaufen von Bestand ermöglichen" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "Abgelaufenen Bestand verkaufen" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "Verkauf von abgelaufenem Bestand erlaubt" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "Bestands-Stehzeit" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "Tage" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "Interne Preise" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "Interne Preise für Teile aktivieren" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "Labeldruck aktivieren" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "Labeldruck über die Website aktivieren" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "Label Bild DPI" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "Berichte aktivieren" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "Berichterstellung aktivieren" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "Entwickler-Modus" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "Berichte im Entwickler-Modus generieren (als HTML)" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "Seitengröße" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "Standardseitenformat für PDF-Bericht" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "Testberichte aktivieren" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "Erstellung von Test-Berichten aktivieren" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "Testberichte anhängen" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "Beim Drucken eines Testberichts dem zugehörigen Lagerbestand eine Kopie des Testberichts beifügen" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "Losnummer Vorlage" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "Vorlage für die Generierung von Standard-Losnummern für Lagerbestände" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "Bestands-Ablauf" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "Ablaufen von Bestand ermöglichen" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "Abgelaufenen Bestand verkaufen" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "Verkauf von abgelaufenem Bestand erlaubt" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "Bestands-Stehzeit" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "Anmeldung erlauben" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "Bei der Registrierung den Benutzer zweimal nach der E-Mail-Adresse fragen" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "Aktuelle Teile-Stände" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "Anzahl der neusten Teile auf der Startseite" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "aktueller Bestand" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "Anzahl des geänderten Bestands auf der Startseite" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF-Labels im Browser anzeigen, anstatt als Datei herunterzuladen" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "PDF-Berichte im Browser anzeigen, anstatt als Datei herunterzuladen" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "Zuliefererteile durchsuchen" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "Zuliefererteile in der Suchvorschau anzeigen" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "Herstellerteile durchsuchen" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "Herstellerteile in der Suchvorschau anzeigen" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "Nicht verfügbare Lagerartikel aus der Suchvorschau ausschließen" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "Anzahl der Ergebnisse, die in der Vorschau pro Sektion angezeigt werden sollen" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "Preis" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "Aktiv" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "Token" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "Host" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "Body" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "Autor" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Datei hochgeladen" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Übereinstimmende Felder" @@ -2816,298 +2869,301 @@ msgstr "Teile importiert" msgid "Previous Step" msgstr "Vorheriger Schritt" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "Firmenbeschreibung" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "Firmenbeschreibung" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "Website" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "Firmenwebsite Adresse/URL" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "Adresse" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "Firmenadresse" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "Kontakt-Tel." -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "Kontakt-Telefon" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "Email" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "Kontakt-Email" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "Kontakt" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "Anlaufstelle" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "Link auf externe Firmeninformation" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "Bild" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "Firmenbemerkungen" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "ist Kunde" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "Verkaufen Sie Teile an diese Firma?" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "ist Zulieferer" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "Kaufen Sie Teile von dieser Firma?" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "ist Hersteller" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "Produziert diese Firma Teile?" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "Währung" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "Standard-Währung für diese Firma" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "Basisteil" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "Teil auswählen" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "Hersteller" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "MPN" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "Hersteller-Teilenummer" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "Externe URL für das Herstellerteil" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "Teilbeschreibung des Herstellers" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "Herstellerteil" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "Parametername" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "Wert" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "Parameterwert" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "Einheiten" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "Parametereinheit" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "Zulieferer" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "Herstellerteil auswählen" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "Teil-URL des Zulieferers" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "Notiz" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "Verpackungen" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "Teile-Verpackungen" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "Packungsmenge" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "Vielfache" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "Mehrere bestellen" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "Verfügbar" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "Verfügbare Menge von Lieferanten" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "Verfügbarkeit aktualisiert" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "Letzte Aktualisierung" @@ -3121,7 +3177,7 @@ msgstr "Währungscode" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "Firma" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "Firmeninformation bearbeiten" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "Firma bearbeiten" @@ -3162,14 +3218,14 @@ msgstr "Neues Bild hochladen" msgid "Download image from URL" msgstr "Bild von URL herunterladen" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "Kunde" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "Bild hochladen" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "Bild herunterladen" @@ -3203,7 +3259,7 @@ msgstr "Neues Zuliefererteil anlegen" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "Neues Zuliefererteil" @@ -3232,7 +3288,7 @@ msgstr "Herstellerteile" msgid "Create new manufacturer part" msgstr "Neues Herstellerteil anlegen" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "Neues Herstellerteil" @@ -3246,7 +3302,7 @@ msgstr "Zulieferer-Bestand" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "Neue Bestellung" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "Zulieferer-Liste" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "Hersteller" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "Teil bestellen" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "Herstellerteil bearbeiten" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "Herstellerteil löschen" @@ -3329,35 +3384,36 @@ msgstr "Keine Herstellerdaten verfügbar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "Zulieferer" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "Zuliefererteil entfernen" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "Löschen" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parameter" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "Neuer Parameter" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "Parameter löschen" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "Parameter hinzufügen" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "Zugewiesene Lagerartikel" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "Zuliefererteil" @@ -3441,13 +3497,13 @@ msgstr "Verfügbarkeit aktualisieren" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "Zuliefererteil bearbeiten" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "Neuen Lagerartikel hinzufügen" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "Neuer Lagerartikel" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "Zulieferer-Bestellungen" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "Preisinformationen ansehen" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "Preisstaffel hinzufügen" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "Keine Informationen zur Preisstaffel gefunden" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "Preisstaffel löschen" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "Preisstaffel bearbeiten" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "Preisstaffel bearbeiten" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "Preisstaffel löschen" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "Zuletzt aktualisiert" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "Teilverfügbarkeit aktualisieren" @@ -3542,9 +3571,9 @@ msgstr "Teilverfügbarkeit aktualisieren" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "Bestand" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "Zuliefererteil Bepreisung" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "Bepreisung" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "Lagerartikel" @@ -3672,438 +3702,439 @@ msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "Bestellungs-Beschreibung" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "Erstellt von" -#: order/models.py:99 +#: order/models.py:100 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:104 +#: order/models.py:105 msgid "Order notes" msgstr "Bestell-Notizen" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "Empfangen von" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "Ziel-Versanddatum" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "Zieldatum für Auftrags-Fertigstellung." -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "Versand von" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "Auftrag kann nicht abgeschlossen werden, da keine Teile zugewiesen wurden" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "Nur ein ausstehender Auftrag kann als abgeschlossen markiert werden" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 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:738 +#: order/models.py:757 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:912 +#: order/models.py:935 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "Lieferdatum für diese Position" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "Kontext" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "gelöscht" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "Bestellung" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "Bestellung" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "Empfangen" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "Wo möchte der Käufer diesen Artikel gelagert haben?" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "Versandhinweise" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1384 +#: order/models.py:1407 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:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "Position" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "Position" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "Währung" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "Der Auftrag ist nicht offen" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "Zuliefererteil muss ausgewählt werden" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "Bestellung muss angegeben sein" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "Lieferant muss mit der Bestellung übereinstimmen" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "Position" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "Losnummer für eingehende Lagerartikel" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "Seriennummern für eingehende Lagerartikel" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "Einzigartiger Identifikator" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "Ziel-Lagerort muss angegeben werden" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "Keine Sendungsdetails angegeben" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "Position ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "Folgende Seriennummern sind bereits zugewiesen" @@ -4154,15 +4185,16 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" -msgstr "Bestellung aufgeben" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" +msgstr "" #: order/templates/order/order_base.html:65 msgid "Receive items" msgstr "Elemente empfangen" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "Teile empfangen" @@ -4248,9 +4280,9 @@ msgstr "Zulieferer-Teil auswählen" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Zeile entfernen" @@ -4278,42 +4310,42 @@ msgstr "Positionen" msgid "Received Stock" msgstr "Empfangene Lagerartikel" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "Bestellungs-Positionen" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "Position hinzufügen" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "Ausgewählte Positionen erhalten" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "Zusätzliche Positionen" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "Extra Zeile anzeigen" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "Empfangene Teile" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "Notizen zur Bestellung" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "Neue Auftragspositionen hinzufügen" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "Dieser Auftrag ist nicht vollständig zugeordnet" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "Kundenreferenz" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Abgeschlossene Sendungen" @@ -4359,22 +4391,22 @@ msgstr "Abgeschlossene Sendungen" msgid "Edit Sales Order" msgstr "Auftrag bearbeiten" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "Auftrags-Positionen" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "Ausstehende Sendungen" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "Aktionen" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "Neue Sendung" @@ -4400,617 +4432,844 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert" -#: part/api.py:516 -msgid "Incoming Purchase Order" -msgstr "Eingehende Bestellung" +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "Teil-ID" -#: part/api.py:536 -msgid "Outgoing Sales Order" -msgstr "Ausgehender Auftrag" +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "Name des Teils" -#: part/api.py:554 -msgid "Stock produced by Build Order" -msgstr "Lagerartikel produziert von Bauauftrag" +#: part/admin.py:21 +msgid "Part Description" +msgstr "" -#: part/api.py:640 -msgid "Stock required for Build Order" -msgstr "Lagerartikel für Bauauftrag benötigt" +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "IPN (Interne Produktnummer)" -#: part/api.py:777 -msgid "Valid" -msgstr "Gültig" +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "Version" -#: part/api.py:778 -msgid "Validate entire Bill of Materials" -msgstr "Gesamte Stückliste validieren" +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "Schlüsselwörter" -#: part/api.py:784 -msgid "This option must be selected" -msgstr "Diese Option muss ausgewählt werden" +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "Kategorie-ID" -#: part/api.py:1207 -msgid "Must be greater than zero" -msgstr "Muss größer als 0 sein" +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" -#: part/api.py:1211 -msgid "Must be a valid quantity" -msgstr "Muss eine gültige Nummer sein" +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" -#: part/api.py:1226 -msgid "Specify location for initial part stock" -msgstr "Standort für anfänglichen Bestand angeben" +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 -msgid "This field is required" -msgstr "Dieses Feld ist erforderlich" +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "Minimaler Bestand" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 -msgid "Default Location" -msgstr "Standard-Lagerort" +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "Auf Lager" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 -msgid "Total Stock" -msgstr "Gesamtbestand" - -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 -msgid "Available Stock" -msgstr "Verfügbarer Bestand" - -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "Bestellt" -#: part/forms.py:41 -msgid "Input quantity for price calculation" -msgstr "Menge für die Preisberechnung" +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "Benutzt in" -#: part/models.py:99 -msgid "Default location for parts in this category" -msgstr "Standard-Lagerort für Teile dieser Kategorie" +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "Zugeordnet" -#: part/models.py:102 -msgid "Default keywords" -msgstr "Standard Stichwörter" +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "Im Bau" -#: part/models.py:102 -msgid "Default keywords for parts in this category" -msgstr "Standard-Stichworte für Teile dieser Kategorie" +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" -#: part/models.py:107 stock/models.py:85 -msgid "Icon" -msgstr "Symbol" +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" -#: part/models.py:108 stock/models.py:86 -msgid "Icon (optional)" -msgstr "Symbol (optional)" +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 -#: part/templates/part/part_app_base.html:10 -msgid "Part Category" -msgstr "Teil-Kategorie" +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 -#: users/models.py:37 -msgid "Part Categories" -msgstr "Teil-Kategorien" +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "Pfad zur Kategorie" -#: part/models.py:344 part/templates/part/cat_link.html:3 +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:134 #: part/templates/part/category.html:154 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Teile" -#: part/models.py:429 +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "Teil-ID" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 +msgid "Incoming Purchase Order" +msgstr "Eingehende Bestellung" + +#: part/api.py:552 +msgid "Outgoing Sales Order" +msgstr "Ausgehender Auftrag" + +#: part/api.py:570 +msgid "Stock produced by Build Order" +msgstr "Lagerartikel produziert von Bauauftrag" + +#: part/api.py:656 +msgid "Stock required for Build Order" +msgstr "Lagerartikel für Bauauftrag benötigt" + +#: part/api.py:814 +msgid "Valid" +msgstr "Gültig" + +#: part/api.py:815 +msgid "Validate entire Bill of Materials" +msgstr "Gesamte Stückliste validieren" + +#: part/api.py:821 +msgid "This option must be selected" +msgstr "Diese Option muss ausgewählt werden" + +#: part/api.py:1261 +msgid "Must be greater than zero" +msgstr "Muss größer als 0 sein" + +#: part/api.py:1265 +msgid "Must be a valid quantity" +msgstr "Muss eine gültige Nummer sein" + +#: part/api.py:1280 +msgid "Specify location for initial part stock" +msgstr "Standort für anfänglichen Bestand angeben" + +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 +msgid "This field is required" +msgstr "Dieses Feld ist erforderlich" + +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 +msgid "Default Location" +msgstr "Standard-Lagerort" + +#: part/bom.py:143 templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "Gesamtbestand" + +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 +msgid "Available Stock" +msgstr "Verfügbarer Bestand" + +#: part/forms.py:41 +msgid "Input quantity for price calculation" +msgstr "Menge für die Preisberechnung" + +#: part/models.py:117 +msgid "Default location for parts in this category" +msgstr "Standard-Lagerort für Teile dieser Kategorie" + +#: part/models.py:120 +msgid "Default keywords" +msgstr "Standard Stichwörter" + +#: part/models.py:120 +msgid "Default keywords for parts in this category" +msgstr "Standard-Stichworte für Teile dieser Kategorie" + +#: part/models.py:125 stock/models.py:101 +msgid "Icon" +msgstr "Symbol" + +#: part/models.py:126 stock/models.py:102 +msgid "Icon (optional)" +msgstr "Symbol (optional)" + +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 +#: part/templates/part/part_app_base.html:10 +msgid "Part Category" +msgstr "Teil-Kategorie" + +#: part/models.py:141 part/templates/part/category.html:129 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: users/models.py:37 +msgid "Part Categories" +msgstr "Teil-Kategorien" + +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Teil '{p1}' wird in Stückliste für Teil '{p2}' benutzt (rekursiv)" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "Variante von" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "Beschreibung des Teils" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "Schlüsselwörter" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "Kategorie" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "IPN (Interne Produktnummer)" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "Version" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "Minimaler Bestand" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "Stock Keeping Units (SKU) für dieses Teil" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ist dieses Teil virtuell, wie zum Beispiel eine Software oder Lizenz?" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "Teile-Notizen" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "Ein Test mit diesem Namen besteht bereits für dieses Teil" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "Benötigt" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:2375 +#: part/models.py:2988 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:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:2381 +#: part/models.py:2994 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:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "Einheit des Parameters" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "Wert" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "Teil-ID" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:2572 -msgid "Part Name" -msgstr "Name des Teils" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "Teil-ID" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "Stufe" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "Optional" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "Geerbt" -#: part/models.py:2694 +#: part/models.py:3307 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:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:2700 +#: part/models.py:3313 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:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "Bauteil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "Keine Bauteilspalte angegeben" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "Mindestens eine Stückliste-Position ist erforderlich" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "Benachrichtigungen über geringen Bestand" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Der verfügbare Bestand für {part.name} ist unter das konfigurierte Mindestniveau gefallen" @@ -5034,7 +5293,7 @@ msgstr "Die Stückliste für %(part)s wurde zuletzt von %(checker)s am msgid "The BOM for %(part)s has not been validated." msgstr "Die Stückliste für %(part)s wurde noch nicht kontrolliert." -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "Stücklisten-Aktionen" @@ -5070,10 +5329,6 @@ msgstr "Kategorie löschen" msgid "Delete Category" msgstr "Kategorie löschen" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "Pfad zur Kategorie" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "Oberste Teil-Kategorie" @@ -5091,12 +5346,12 @@ msgstr "Teile (inklusive Unter-Kategorien)" msgid "Create new part" msgstr "Neues Teil anlegen" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "Neues Teil" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "Optionen" @@ -5144,7 +5399,7 @@ msgstr "Teil erfolgreich angelegt" msgid "Import Parts" msgstr "Teile importieren" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "Teil duplizieren" @@ -5176,7 +5431,8 @@ msgstr "Teilbestand" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "Neu laden" @@ -5192,123 +5448,103 @@ msgstr "Test Vorlage hinzufügen" msgid "Sales Order Allocations" msgstr "Verkaufsauftragszuweisungen" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "Teile-Notizen" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "Teil Varianten" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "Neue Variante anlegen" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "neue Variante anlegen" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "Parameter hinzufügen" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "Verknüpfte Teile" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "Verknüpftes Teil hinzufügen" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "Stückliste" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "Export-Aktionen" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "Stückliste exportieren" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "Stücklisten-Bericht drucken" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "Stückliste hochladen" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "Stückliste überprüfen" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "Stücklisten-Position hinzufügen" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "Baugruppen" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "Gefertigte Teile" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "Bauauftragszuweisungen" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "Zulieferer" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "Teil-Hersteller" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "Herstellerteile löschen" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "verknüpftes Teil" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "verknüpftes Teil hinzufügen" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "Testergebnis-Vorlage hinzufügen" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "Stückpreis Einkauf - %(currency)s" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "Stückpreis Differenz - %(currency)s" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "Stückpreis Zulieferer - %(currency)s" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "Stückpreis - %(currency)s" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "Teil ist virtuell (kein physisches Teil)" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "Inaktiv" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "Teildetails anzeigen" @@ -5456,12 +5692,6 @@ msgstr "Teildetails anzeigen" msgid "This part is a variant of %(link)s" msgstr "Dieses Teil ist eine Variante von %(link)s" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "Auf Lager" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "Zu Bauaufträgen zugeordnet" msgid "Allocated to Sales Orders" msgstr "Zur Bestellung zugeordnet" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "Herstellbar" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "Im Bau" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "Minimaler Bestand" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "letzte Seriennummer" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "Nach Seriennummer suchen" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "Berechnen" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "Keine passenden Bilder gefunden" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "Teildetails ausblenden" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "Zulieferer-Preise" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "Stückpreis" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "Gesamtkosten" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "Keine Zulieferer-Preise verfügbar" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "Stücklistenpreise" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "Kaufpreis pro Einheit" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "Gesamter Kaufpreis" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "Anmerkung: Stücklistenbepreisung für dieses Teil ist unvollständig" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "Keine Stücklisten-Preise verfügbar" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "Interner Preis" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "Keine Preise für dieses Teil verfügbar" @@ -5573,7 +5794,8 @@ msgstr "Keine Preise für dieses Teil verfügbar" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "Datum" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "Varianten" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "Benutzt in" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "Zeitplan" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "Testvorlagen" @@ -5601,74 +5819,82 @@ msgstr "Testvorlagen" msgid "Select from existing images" msgstr "Aus vorhandenen Bildern auswählen" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" -msgstr "Preisspannen" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" +msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" -msgstr "Zuliefererkosten anzeigen" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" +msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" -msgstr "Einkaufpreis anzeigen" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" +msgstr "Zuletzt aktualisiert" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" -msgstr "Stücklisten-Kosten" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" +msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" -msgstr "Verkaufskosten anzeigen" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" +msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" -msgstr "Verkaufspreis anzeigen" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" +msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" -msgstr "Berechnungsparameter" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" +msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" -msgstr "Zuliefererkosten" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" +msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "Zur Übersicht gehen" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "Bestandspreise" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "Für dieses Teil sind keine Bestandspreise verfügbar." - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "Interne Kosten" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "Interne Preisspanne hinzufügen" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" -msgstr "Stücklistenkosten" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" +msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" -msgstr "Verkaufskosten" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" +msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "Keine Verkaufsgeschichte für diesen Teil verfügbar." - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "Kein Bestand" @@ -5722,40 +5948,36 @@ msgstr "Neue Teilevariante anlegen" msgid "Create a new variant of template '%(full_name)s'." msgstr "Neue Variante von Vorlage anlegen '%(full_name)s'." -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "Unbekannte Datenbank" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "{title} v{version}" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "Referenzen zuteilen" -#: part/views.py:415 -msgid "None" -msgstr "Kein(e)" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "Teil-QR-Code" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "Teilbild auswählen" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "Teilbild aktualisiert" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "Teilbild nicht gefunden" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "Teilbepreisung" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "Lagerartikel Test-Bericht" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "Seriennummer" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "Testergebnisse" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "Ergebnis" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "Verbaute Objekte" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "Seriennummer" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "Standort-ID" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "Lagerortpfad" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "Zuliefererteil-ID" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "verbaut in" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "Bauauftrag-ID" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "Inventur" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "Ablaufdatum" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "Besitzer" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "Besitzer auswählen" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Teile-Typ ('{pf}') muss {pe} sein" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als 1 ist" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "Teil kann nicht zu sich selbst gehören" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "Teil muss eine Referenz haben wenn is_building wahr ist" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "Referenz verweist nicht auf das gleiche Teil" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "Eltern-Lagerartikel" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "Basis-Teil" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Bestand-Lagerort" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "Die Verpackung dieses Lagerartikel ist gelagert in" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "verbaut in" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "Bestand" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "Quellbau" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "Bauauftrag für diesen Lagerartikel" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "Quelle Bestellung" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "Bestellung für diesen Lagerartikel" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "Ziel-Auftrag" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "Ablaufdatum" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Ablaufdatum für Lagerartikel. Bestand wird danach als abgelaufen gekennzeichnet" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "Löschen wenn leer" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "Lagerartikel-Notizen" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "Preis für eine Einheit bei Einkauf" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "In Teil umgewandelt" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "Anzahl darf nicht die verfügbare Anzahl überschreiten ({n})" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seriennummern {exists} existieren bereits" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "Artikel wurde einem Kundenauftrag zugewiesen" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "Lagerartikel ist in anderem Element verbaut" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "Lagerartikel enthält andere Artikel" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "Artikel wurde einem Kunden zugewiesen" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "Lagerartikel wird aktuell produziert" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "Artikel duplizeren" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "Lagerartikel müssen auf dasselbe Teil verweisen" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "Status-Codes müssen zusammenpassen" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "Lagerartikel kann nicht bewegt werden, da kein Bestand vorhanden ist" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "Name des Tests" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "Test Notizen" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "Seriennummer ist zu lang" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "Kaufpreis für diesen Lagerartikel" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Anzahl darf nicht die verfügbare Menge überschreiten ({q})" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "Seriennummern für neue Teile eingeben" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "Ziel-Bestand" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "Optionales Notizfeld" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "Seriennummern können diesem Teil nicht zugewiesen werden" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "Lagerartikel für Installation auswählen" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "Lagerartikel ist nicht verfügbar" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "Ausgewähltes Teil ist nicht in der Stückliste" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "Ziel Lagerort für unverbautes Objekt" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr " Transaktionsnotizen hinzufügen (optional)" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "Teil muss verkaufbar sein" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "Artikel ist einem Kundenauftrag zugeordnet" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "Artikel ist einem Fertigungsauftrag zugeordnet" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "Kunde zum Zuweisen von Lagerartikel" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "Ausgewählte Firma ist kein Kunde" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "Notizen zur Lagerzuordnung" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "Notizen zur Lagerartikelzusammenführung" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "Unterschiedliche Lieferanten erlauben" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "Unterschiedliche Status erlauben" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "Mindestens zwei Lagerartikel müssen angegeben werden" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" @@ -6520,7 +6794,7 @@ msgstr "Testdaten hinzufügen" msgid "Installed Stock Items" msgstr "Installierte Lagerartikel" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "Lagerartikel installieren" @@ -6528,7 +6802,7 @@ msgstr "Lagerartikel installieren" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "Testergebnis hinzufügen" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Dieser Lagerartikel lief am %(item.expiry_date)s ab" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "abgelaufen" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Dieser Lagerartikel läuft am %(item.expiry_date)s ab" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "überfällig" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "Zuletzt aktualisiert" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "Letzte Inventur" @@ -6783,11 +7051,6 @@ msgstr "Lagerort bearbeiten" msgid "Delete location" msgstr "Lagerort löschen" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "Lagerortpfad" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "Oberster Lagerstandort" @@ -6960,6 +7223,14 @@ msgstr "ausstehende Aufträge" msgid "Overdue Sales Orders" msgstr "überfällige Aufträge" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "Benachrichtigungsverlauf" @@ -7026,30 +7297,6 @@ msgstr "Bauauftrag-Einstellungen" msgid "Category Settings" msgstr "Kategorie-Einstellungen" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "Währungseinstellungen" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "Basiswährung" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "Wechselkurse" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "Letzte Aktualisierung" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "Nie" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "Jetzt aktualisieren" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "Server Einstellungen" @@ -7090,15 +7337,15 @@ msgstr "In neuem Tab öffnen" msgid "Part Settings" msgstr "Teil-Einstellungen" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "Teileimport" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "Teil importieren" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "Teil-Parametervorlage" @@ -7125,11 +7372,6 @@ msgstr "Plugin installieren" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "Autor" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "Signatur Schlüssel" msgid "Purchase Order Settings" msgstr "Bestellungs-Einstellungen" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "Währungseinstellungen" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "Jetzt aktualisieren" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "Letzte Aktualisierung" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "Nie" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "Basiswährung" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "Wechselkurse" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "Keine Teilparametervorlagen gefunden" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "ID" @@ -7357,10 +7633,6 @@ msgstr "Allgemeine Einstellungen" msgid "Server Configuration" msgstr "Serverkonfiguration" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "Währungen" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "Kategorien" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "Passwort ändern" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "Bearbeiten" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "Bei den folgenden Teilen gibt es wenige Lagerartikel" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "Benötigte Menge" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "Klicken Sie auf den folgenden Link, um diesen Teil anzuzeigen" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "Mindestmenge" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "Entfernen" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "Lagerartikel entfernen" @@ -8127,10 +8399,10 @@ msgstr "Zeilendaten anzeigen" msgid "Row Data" msgstr "Zeilendaten" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Schliessen" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "Vorlage einer Stückliste herunterladen" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "Format" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "Dateiformat auswählen" @@ -8197,118 +8469,130 @@ msgstr "Zulieferer einschließen" msgid "Include part supplier data in exported BOM" msgstr "Zulieferer-Daten in Stückliste-Export einschließen" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "Ersatzteil entfernen" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "Wählen Sie ein neues Ersatzteil aus und fügen Sie sie mit den folgenden Eingaben hinzu" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "Sind Sie sicher, dass Sie dieses Ersatzteil entfernen möchten?" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "Ersatzteil entfernen" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "Ersatzteil hinzufügen" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "Stücklisten Ersatzteile bearbeiten" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "Ausgewählte Stücklistenpositionen löschen?" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "Stückliste für Bauteile laden" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "Ersatzteile verfügbar" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "Varianten erlaubt" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "Kein Lagerbestand verfügbar" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "Beinhaltet Variante und Ersatzbestand" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "Beinhaltet Variantenbestand" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "Enthält Ersatzbestand" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "Ersatzteile" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "Stückliste anzeigen" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" -msgstr "Kaufpreisspanne" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" +msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" -msgstr "Durchschnittlicher Kaufpreis" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" +msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "Kein Lagerbestand verfügbar" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "Beinhaltet Variante und Ersatzbestand" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "Beinhaltet Variantenbestand" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "Enthält Ersatzbestand" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "Stücklisten-Position kontrollieren" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "Diese Position wurde kontrolliert" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "Ersatzteile bearbeiten" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "Stücklisten-Position bearbeiten" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "Stücklisten-Position löschen" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "Keine Stücklisten-Position(en) gefunden" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "benötigtes Teil" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "Geerbt von übergeordneter Stückliste" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "Bauauftrag fertigstellen" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "Nächste verfügbare Seriennummer" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "Letzte Seriennummer" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "Keine erforderlichen Tests für diesen Bauauftrag" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "Bestands-Zuordnung bearbeiten" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "Bestands-Zuordnung löschen" @@ -8480,20 +8764,15 @@ msgstr "Ersatzteile verfügbar" msgid "Quantity Per" msgstr "Anzahl pro" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "Unzureichender Bestand verfügbar" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "Ausreichender Bestand verfügbar" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "Zugeordnet" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "Bestand bauen" @@ -8501,21 +8780,21 @@ msgstr "Bestand bauen" msgid "Order stock" msgstr "Bestand bestellen" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "Bestand zuweisen" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Teile auswählen" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "Sie müssen mindestens ein Teil auswählen" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" @@ -8527,7 +8806,7 @@ msgstr "Alle Teile zugeordnet" msgid "All selected parts have been fully allocated" msgstr "Alle ausgewählten Teile wurden vollständig zugeordnet" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "Wählen Sie den Quellort aus (leer lassen um von allen Standorten zu nehmen)" @@ -8535,11 +8814,11 @@ msgstr "Wählen Sie den Quellort aus (leer lassen um von allen Standorten zu neh msgid "Allocate Stock Items to Build Order" msgstr "Lagerartikel für Bauauftrag zuweisen" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "Keine passenden Lagerstandorte" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "Keine passenden Lagerbestände" @@ -8571,9 +8850,9 @@ msgstr "Lagerartikel zuordnen" msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "Auswählen" @@ -8585,7 +8864,7 @@ msgstr "Bauauftrag ist überfällig" msgid "Progress" msgstr "Fortschritt" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "Keine Benutzerinformation" @@ -8593,118 +8872,144 @@ msgstr "Keine Benutzerinformation" msgid "No parts allocated for" msgstr "Keine Teile zugeordnet zu" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "Hersteller hinzufügen" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "Herstellerteil hinzufügen" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "Herstellerteil ändern" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "Zulieferer hinzufügen" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "Zuliefererteil hinzufügen" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "Alle ausgewählten Zulieferteile werden gelöscht" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "Zuliefererteil entfernen" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "Neue Firma hinzufügen" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "Teile geliefert" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "Hersteller-Teile" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "Keine Firmeninformation gefunden" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "Alle ausgewählten Herstellerrteile werden gelöscht" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "Herstellerteile löschen" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "Alle ausgewählten Parameter werden gelöscht" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "Parameter löschen" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "Keine Herstellerteile gefunden" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "Vorlagenteil" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "Baugruppe" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "Keine Parameter gefunden" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "Keine Zuliefererteile gefunden" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "Zuliefererteil bearbeiten" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "Zuliefererteil entfernen" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "Preisstaffel löschen" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "Preisstaffel bearbeiten" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "Keine Informationen zur Preisstaffel gefunden" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "Zuletzt aktualisiert" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "Preisstaffel bearbeiten" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "Preisstaffel löschen" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "Suche" msgid "Clear input" msgstr "Eingabe leeren" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "Dateispalte" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "Feldname" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "Spalten auswählen" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "JA" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "NEIN" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "Notiz aktualisiert" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "Label an den Drucker gesendet" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "Lagerartikel auswählen" @@ -8934,14 +9239,6 @@ msgstr "Firmen-ID" msgid "Stock ID" msgstr "Bestands-ID" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "Standort-ID" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "Bauauftrag-ID" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,17 +9249,13 @@ msgstr "Bestell-ID" msgid "Shipment ID" msgstr "Sendungs-ID" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "Kategorie-ID" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "Herstellerteil-ID" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" -msgstr "Zuliefererteil-ID" +#: templates/js/translated/news.js:23 +msgid "No news found" +msgstr "" #: templates/js/translated/notification.js:42 msgid "Age" @@ -9104,659 +9397,688 @@ msgstr "Bestellung bearbeiten" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "Bestellung exportieren" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "Mindestens ein kaufbares Teil muss ausgewählt werden" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "Zu bestellende Menge" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "Neues Zuliefererteil" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "Neue Bestellung" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "Zur Bestellung hinzufügen" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "Keine passenden Lieferantenteile" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "Keine passenden Bestellungen" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "Positionen auswählen" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "Mindestens eine Position muss ausgewählt werden" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "Losnummer hinzufügen" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "Seriennummern hinzufügen" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "Zu erhaltende Menge" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "Status" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "Bestellnummer" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "Bestellt" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "Zu erhaltende Menge" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "Empfang der Teile bestätigen" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "Bestellpositionen erhalten" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "Keine Bestellungen gefunden" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "Bestellung überfällig" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "Positionen" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "Position duplizieren" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "Position bearbeiten" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "Position löschen" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "Keine Positionen gefunden" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "Summe" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "Stück-Preis" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "Gesamtpreis" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "Diese Position ist überfällig" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "Position empfangen" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "Position duplizieren" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "Position bearbeiten" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "Position löschen" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "Position duplizieren" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "Zeile bearbeiten" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "Zeile löschen" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "Position duplizieren" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "Zeile bearbeiten" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "Zeile löschen" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "Keine passenden Positionen gefunden" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "Keine Aufträge gefunden" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "Ungültiger Kunde" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "Sendung bearbeiten" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "Sendung fertigstellen" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "Sendung löschen" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "Sendung bearbeiten" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "Sendung löschen" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "Keine passenden Sendungen gefunden" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "Sendungsreferenz" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "Nicht versandt" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "Nachverfolgen" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "Rechnung" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "Sendung hinzufügen" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "Bestandszuordnung bestätigen" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "Artikel zu Kundenauftrag zuweisen" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "Keine Allokationen für Verkaufsaufträge gefunden" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "Bestandszuordnung bearbeiten" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "Löschvorgang bestätigen" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "Bestands-Zuordnung löschen" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "an Kunde versand" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "Lagerstandort nicht angegeben" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "Seriennummern zuweisen" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "Bestand kaufen" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "Preis berechnen" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "Kann nicht gelöscht werden, da Artikel versandt wurden" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "Kann nicht gelöscht werden, da Artikel zugewiesen sind" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "Seriennummern zuweisen" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "Stückpreis aktualisieren" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "Keine passenden Positionen gefunden" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "Keine passenden Positionen gefunden" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "Teileigenschaften" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "Erstellungsoptionen für Teile" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "Einstellungen für Teilkopien" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "Zuliefereroptionen" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "Teil-Kategorie hinzufügen" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "Anfänglichen Bestand erstellen" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "Anfänglichen Bestand für dieses Teil erstellen" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "Menge des anfänglichen Bestands für dieses Teil angeben" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "Zielstandort auswählen" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Bauteilkategorie kopieren" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "Zuliefererdaten hinzufügen" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "Erstelle ersten Lieferanten für dieses Teil" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "Bild kopieren" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "Übergeordnete Teilkategorie" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "Teil-Kategorie bearbeiten" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "Möchten Sie diese Kategorie wirklich löschen?" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "Teil-Kategorie löschen" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "Teil bearbeiten" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "Teil bearbeitet" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "Teil-Variante anlegen" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "Aktives Teil" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "Teil kann nicht gelöscht werden, da es derzeit aktiv ist" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "Das Löschen dieses Teils kann nicht rückgängig gemacht werden" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "Teil löschen" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "Benachrichtigungen für dieses Teil abonnieren" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abgemeldet" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "Die Stückliste zu validieren markiert jede Zeile als gültig" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "Stückliste prüfen" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "überprüfte Stückliste" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "Stückliste kopieren" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "Bestand niedrig" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "Nachverfolgbares Teil" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "virtuelles Teil" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "Abonnierter Teil" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "Verkäufliches Teil" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "Keine Varianten gefunden" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "Keine Teile gefunden" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "Keine Kategorie" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "Listenansicht" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "Rasteransicht" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "Teil-Kategorie auswählen" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "Teil-Kategorie wählen" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "Kategorie erforderlich" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "Baumansicht" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "Abonnierte Kategorie" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "Keine zur Anfrage passenden Testvorlagen" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "Testergebnis löschen" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "Dieses Testergebnis ist für ein Hauptteil" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "Testergebnis-Vorlage bearbeiten" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "Testergebnis-Vorlage löschen" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "Keine ${human_name} Informationen gefunden" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "${human_name} bearbeiten" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "${human_name} löschen" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "Keine Zeitplanung für dieses Teil vorhanden" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "Geplante Lagermengen" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "Einzelpreis" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "Einzelpreisdifferenz" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "Das Plugin wurde installiert" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "${human_name} bearbeiten" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "${human_name} löschen" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "Lagerartikel ausgewählt" @@ -9855,364 +10177,364 @@ msgstr "Neuer Lagerstandort" msgid "Are you sure you want to delete this stock location?" msgstr "Sind Sie sicher, dass Sie diesen Lagerort löschen wollen?" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "Bestand-Lagerort löschen" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "Dieser Teil kann nicht serialisiert werden" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "Ausgangsmenge für diesen Lagerartikel eingeben" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Seriennummern für neue Lagerartikel eingeben (oder leer lassen)" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "Lagerartikel dupliziert" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "Bestand duplizieren" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "Sind Sie sicher, dass Sie diesen Lagerartikel löschen wollen?" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "Lagerartikel löschen" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "Lagerartikel bearbeiten" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "Neuer Lagerartikel erstellt" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "Mehrere Lagerartikel erstellt" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "Seriennummer finden" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "Seriennummer eingeben" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "Eine Seriennummer eingeben" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "Keine passende Seriennummer" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "Mehrere Ergebnisse gefunden" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "Bestand Zuweisung bestätigen" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "Einem Kunden zuordnen" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "Achtung: Das Zusammenführen kann nicht rückgängig gemacht werden" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "Einige Informationen gehen verloren, wenn Artikel zusammengeführt werden" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "Lagerartikelverlauf wird für zusammengeführte Lagerartikel gelöscht" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "Lieferantenteil-Informationen werden für zusammengeführte Artikel gelöscht" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "Zusammenführung der Artikel bestätigen" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "Artikel zusammenführen" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "Bestand verschieben" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "Verschieben" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "Bestand zählen" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "Anzahl" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "Bestand entfernen" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "Entfernen" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "Bestand hinzufügen" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "Hinzufügen" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "Bestand löschen" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "Menge von serialisiertem Bestand kann nicht bearbeitet werden" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "Bestandsanzahl angeben" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "Sie müssen mindestens einen Lagerartikel auswählen" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "Bestands-Anpassung bestätigen" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "ERFOLGREICH" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "FEHLGESCHLAGEN" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "KEIN ERGEBNIS" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "Test bestanden" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "Testergebnis hinzufügen" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "Keine Testergebnisse gefunden" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "Testdatum" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "Testergebnis löschen" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "In Arbeit" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "In Lagerartikel installiert" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "Auftrag zugewiesen" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "Kein Lagerort gesetzt" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "Lagerartikel wird produziert" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "Lagerartikel wurde Auftrag zugewiesen" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "Lagerartikel wurde Kunden zugewiesen" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "Serialisierter Lagerartikel wurde zugewiesen" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "Lagerartikel wurde vollständig zugewiesen" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "Lagerartikel wurde teilweise zugewiesen" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "Lagerartikel in anderem Element verbaut" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "Lagerartikel ist abgelaufen" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "Lagerartikel läuft demnächst ab" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "Lagerartikel abgewiesen" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "Lagerartikel verloren" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "Lagerartikel zerstört" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "gelöscht" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "Inventur" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "Zuliefererteil nicht angegeben" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "Keine zur Anfrage passenden Lagerartikel" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "Status setzen" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "Status Code setzen" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "Status Code muss ausgewählt werden" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "Details" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "Artikelinformationen nicht verfügbar" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "Standort nicht mehr vorhanden" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "Bestellung existiert nicht mehr" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "Kunde existiert nicht mehr" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "Lagerartikel existiert nicht mehr" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "Hinzugefügt" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "Entfernt" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "Keine installierten Elemente" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "Lagerartikel entfernen" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "Zu deinstallierende Lagerartikel auswählen" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "Einen weiteren Lagerartikel in dieses Teil installiert" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Lagerartikel können nur installiert werden wenn folgende Kriterien erfüllt werden" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "Der Lagerartikel ist auf ein Teil verknüpft das in der Stückliste für diesen Lagerartikel ist" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "Dieser Lagerartikel ist aktuell vorhanden" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "Der Lagerbestand ist nicht bereits in einem anderen Bestand installiert" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "Der Lagerbestand wird entweder mit einem Batch-Code oder mit Seriennummer verfolgt" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "Teil zur Installation auswählen" @@ -10236,215 +10558,220 @@ msgstr "überprüft" msgid "Allow Variant Stock" msgstr "Bestand an Varianten zulassen" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "Unter-Lagerorte einschließen" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "Lagerorte einschließen" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "Unterkategorien einschließen" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "Abonniert" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 +#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:238 msgid "Is Serialized" msgstr "Hat Seriennummer" -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:245 msgid "Serial number GTE" msgstr "Seriennummer >=" -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:160 +#: templates/js/translated/table_filters.js:246 msgid "Serial number greater than or equal to" msgstr "Seriennummer größer oder gleich" -#: templates/js/translated/table_filters.js:159 -#: templates/js/translated/table_filters.js:245 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 msgid "Serial number LTE" msgstr "Seriennummer <=" -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:246 +#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:250 msgid "Serial number less than or equal to" msgstr "Seriennummern kleiner oder gleich" -#: templates/js/translated/table_filters.js:163 -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "Seriennummer" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "Losnummer" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "Aktive Teile" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "Bestand aktiver Teile anzeigen" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "Teil ist eine Baugruppe" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "Ist zugeordnet" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "Teil wurde zugeordnet" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "Lagerartikel ist zur Verwendung verfügbar" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "Bestand in Unter-Lagerorten einschließen" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "Zeige aufgebrauchte Lagerartikel" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "Zeige Objekte welche im Lager sind" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "In Arbeit" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "Elemente, die in Produktion sind, anzeigen" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "Varianten einschließen" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "Lagerartikel für Teil-Varianten einschließen" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "Installiert" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "Lagerartikel, die in anderen Elementen verbaut sind, anzeigen" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "zeige zu Kunden zugeordnete Einträge" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "Status" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "Hat Batch-Code" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "Nachverfolgt" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "Lagerbestand wird entweder per Batch-Code oder Seriennummer verfolgt" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "Hat Einkaufspreis" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "Bestand mit Einkaufspreis anzeigen" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "Zeige abgelaufene Lagerartikel" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "Bestand, der bald ablaufen, anzeigen" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "Test bestanden" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "Installierte Elemente einschließen" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "Bauauftrags-Status" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "Mir zugewiesen" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "Bestellstatus" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "ausstehend" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "Teile in Unterkategorien einschließen" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "Aktive Teile anzeigen" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "Verfügbarer Lagerbestand" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "Hat IPN" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "Teil hat Interne Teilenummer" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "Auf Lager" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "Käuflich" @@ -10554,6 +10881,10 @@ msgstr "Speichern" msgid "Show all notifications and history" msgstr "Zeige alle Benachrichtigungen und Verlauf" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "QR Daten nicht angegeben" @@ -10738,35 +11069,35 @@ msgstr "Berechtigungen" msgid "Important dates" msgstr "wichtige Daten" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "Berechtigung geändert" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "Gruppe" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "Ansicht" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "Berechtigung Einträge anzuzeigen" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "Berechtigung Einträge zu erstellen" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "Ändern" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "Berechtigungen Einträge zu ändern" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index b490dc850a..418b7bee69 100644 --- a/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:03\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:51\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "Το API endpoint δε βρέθηκε" @@ -25,27 +25,27 @@ msgstr "Το API endpoint δε βρέθηκε" msgid "Error details can be found in the admin panel" msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλματος στον πίνακα διαχείρισης" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "Εισάγετε ημερομηνία" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "Σημειώσεις" @@ -122,43 +122,43 @@ msgstr "Ο διακομιστής επέστρεψε σφάλμα %1$d %2$s" msgid "Supplied URL is not a valid image file" msgstr "Το URL δεν είναι έγκυρο αρχείο εικόνας" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "Μη έγκυρη ποσότητα" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "Κενό σειριακό αριθμό συμβολοσειράς" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Μη έγκυρο εύρος ομάδας: {g}" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Μη έγκυρη ακολουθία ομάδας: {g}" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "Δεν βρέθηκαν σειριακοί αριθμοί" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Ο αριθμός μοναδικών σειριακών αριθμών ({s}) πρέπει να αντιστοιχεί στην ποσότητα ({q})" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "Αφαιρέστε τα HTML tags από την τιμή που εισάγατε" @@ -194,7 +194,7 @@ msgstr "Το αρχείο λείπει" msgid "Missing external link" msgstr "Λείπει ο εξωτερικός σύνδεσμος" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "Συνημμένο" msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "Σύνδεσμος" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" @@ -228,12 +229,12 @@ msgstr "Σχόλιο" msgid "File comment" msgstr "Σχόλιο αρχείου" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "Χρήστης" @@ -270,44 +271,45 @@ msgstr "Σφάλμα κατά τη μετονομασία" msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "Όνομα" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "Περιγραφή" @@ -320,7 +322,7 @@ msgid "parent" msgstr "γονέας" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "Μονοπάτι" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "" @@ -352,187 +354,187 @@ msgstr "Σφάλμα διακομιστή" msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "Όνομα αρχείου" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "Μη έγκυρη τιμή" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "Αρχείο Δεδομένων" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "Επιλέξτε ένα αρχείο για ανέβασμα" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "Μη υποστηριζόμενος τύπος αρχείου" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "Το αρχείο είναι πολύ μεγάλο" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "Δεν βρέθηκαν στήλες στο αρχείο" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "Δεν βρέθηκαν γραμμές δεδομένων στο αρχείο" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "Δεν παρασχέθηκαν σειρές δεδομένων" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "Δεν δόθηκαν στήλες δεδομένων" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Λείπει απαιτούμενη στήλη: '{name}'" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Διπλή στήλη: '{col}'" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "Διεύθυνση URL του αρχείου απομακρυσμένης εικόνας" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "Τσέχικα" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "Γερμανικά" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "Ελληνικά" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "Αγγλικά" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "Ισπανικά" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "Ισπανικά (Μεξικό)" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "Φαρσί / Περσικά" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "Γαλλικά" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "Εβραϊκά" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "Ούγγρικα" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "Ιταλικά" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "Ιαπωνικά" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "Κορεάτικα" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "Dutch" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "Νορβηγικά" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "Πολωνικά" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "Πορτογαλικά" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "Πορτογαλικά (Βραζιλίας)" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "Ρωσικά" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "Σουηδικά" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "Ταϊλανδέζικα" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "Τούρκικα" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "Βιετναμέζικα" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "Κινέζικα" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "Δεν έχει ρυθμιστεί διεύθυνση ηλεκτρονικού ταχυδρομείου" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "Ο έλεγχος συστήματος για το Inventree απέτυχε" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "Σε εκκρεμότητα" @@ -561,8 +563,8 @@ msgstr "Χάθηκε" msgid "Returned" msgstr "Επιστράφηκε" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "Αποστάλθηκε" @@ -646,7 +648,7 @@ msgstr "Έγινε διαχωρισμός από το γονεϊκό αρχεί msgid "Split child item" msgstr "Διαχωρίστηκε θυγατρικό στοιχείο" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "Έγινε συγχώνευση αποθεμάτων" @@ -654,7 +656,7 @@ msgstr "Έγινε συγχώνευση αποθεμάτων" msgid "Converted to variant" msgstr "Μετατράπηκε σε παραλλαγή" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "Απεστάλη στον πελάτη" @@ -746,7 +748,7 @@ msgstr "Σειρά Κατασκευής" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "Δημιουργία Παραγγελιών" msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "Αναφορά" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "Εξάρτημα" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "Τοποθεσία Προέλευσης" @@ -874,8 +877,8 @@ msgstr "Κατάσταση Κατασκευής" msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" @@ -883,12 +886,12 @@ msgstr "Κωδικός Παρτίδας" msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "Ημερομηνία Δημιουργίας" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "Ημερομηνία ολοκλήρωσης στόχου" @@ -896,7 +899,7 @@ msgstr "Ημερομηνία ολοκλήρωσης στόχου" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "Υπεύθυνος" @@ -929,7 +932,7 @@ msgstr "Υπεύθυνος για αυτή την παραγγελία κατα #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "Εξωτερικοί σύνδεσμοι" @@ -968,11 +971,11 @@ msgstr "Το στοιχείο κατασκευής πρέπει να ορίζε msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" @@ -994,18 +997,18 @@ msgstr "Κατασκευή" msgid "Build to allocate parts" msgstr "Κατασκευή για εκχώρηση τμημάτων" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" @@ -1015,12 +1018,10 @@ msgstr "Στοιχείο πηγαίου αποθέματος" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "Στοιχείο πηγαίου αποθέματος" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "Ποσότητα" @@ -1087,10 +1092,10 @@ msgstr "Αυτή η έξοδος κατασκευής δεν έχει εκχωρ msgid "Enter quantity for build output" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" @@ -1102,9 +1107,9 @@ msgstr "Ακέραιη ποσότητα που απαιτείται για αν msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "Σειριακοί αριθμοί" @@ -1120,7 +1125,7 @@ msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "" @@ -1213,7 +1219,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "" @@ -1229,8 +1235,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "" @@ -1246,11 +1252,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1267,7 +1273,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "" @@ -1401,29 +1407,29 @@ msgstr "" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "" @@ -1449,8 +1455,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "" @@ -1462,14 +1468,14 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "" @@ -1527,7 +1533,7 @@ msgstr "" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1617,7 +1623,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" @@ -1902,9 +1908,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "" @@ -1912,9 +1918,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "" @@ -1922,8 +1929,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "" @@ -1931,7 +1938,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "" @@ -1939,8 +1946,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "" @@ -1948,10 +1955,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "" @@ -1959,10 +1966,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2816,298 +2869,301 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "" @@ -3162,14 +3218,14 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "" @@ -3203,7 +3259,7 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "" @@ -3232,7 +3288,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "" @@ -3246,7 +3302,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,7 +4185,8 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" msgstr "" #: order/templates/order/order_base.html:65 @@ -4162,7 +4194,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "" + +#: part/admin.py:21 +msgid "Part Description" +msgstr "" + +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "" + +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" + +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" + +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" + +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "" + +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "" + +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 +#: templates/js/translated/table_filters.js:68 +msgid "On Order" +msgstr "" + +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "" + +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "" + +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "" + +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" + +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:23 part/templates/part/category.html:134 +#: part/templates/part/category.html:154 +#: part/templates/part/category_sidebar.html:9 +#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 +#: templates/InvenTree/settings/sidebar.html:41 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 +#: templates/navbar.html:24 users/models.py:38 +msgid "Parts" +msgstr "" + +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:536 +#: part/api.py:552 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:554 +#: part/api.py:570 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:640 +#: part/api.py:656 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:777 +#: part/api.py:814 msgid "Valid" msgstr "" -#: part/api.py:778 +#: part/api.py:815 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:784 +#: part/api.py:821 msgid "This option must be selected" msgstr "" -#: part/api.py:1207 +#: part/api.py:1261 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1211 +#: part/api.py:1265 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1226 +#: part/api.py:1280 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 msgid "This field is required" msgstr "" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 msgid "Default Location" msgstr "" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 +#: part/bom.py:143 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 msgid "Available Stock" msgstr "" -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 -#: templates/js/translated/table_filters.js:68 -msgid "On Order" -msgstr "" - #: part/forms.py:41 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:99 +#: part/models.py:117 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:85 +#: part/models.py:125 stock/models.py:101 msgid "Icon" msgstr "" -#: part/models.py:108 stock/models.py:86 +#: part/models.py:126 stock/models.py:102 msgid "Icon (optional)" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 +#: part/models.py:141 part/templates/part/category.html:129 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 -#: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 -#: templates/navbar.html:24 users/models.py:38 -msgid "Parts" -msgstr "" - -#: part/models.py:429 +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "" msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "" msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -10738,35 +11069,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index 705be13374..d44b8bfdbf 100644 --- a/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-03 11:22+0000\n" +"POT-Creation-Date: 2022-11-07 02:58+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -43,9 +43,9 @@ msgstr "" #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 #: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:4014 +#: templates/js/translated/order.js:4413 templates/js/translated/stock.js:1374 #: templates/js/translated/stock.js:1982 msgid "Notes" msgstr "" @@ -211,7 +211,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:164 #: templates/js/translated/company.js:691 #: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1569 msgid "Link" msgstr "" @@ -229,10 +229,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1758 +#: common/models.py:1759 common/models.py:1982 common/models.py:1983 +#: common/models.py:2245 common/models.py:2246 part/models.py:2254 +#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2651 msgid "User" @@ -271,14 +271,14 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1968 #: company/models.py:359 label/models.py:101 part/models.py:760 #: part/models.py:2429 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 -#: templates/InvenTree/settings/plugin.html:51 -#: templates/InvenTree/settings/plugin.html:134 +#: templates/InvenTree/settings/plugin.html:60 +#: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:347 +#: templates/InvenTree/settings/settings.html:344 #: templates/js/translated/company.js:580 #: templates/js/translated/company.js:793 #: templates/js/translated/notification.js:71 @@ -298,13 +298,13 @@ msgstr "" #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/templates/stock/location.html:117 -#: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/InvenTree/settings/settings.html:358 +#: templates/InvenTree/settings/plugin_settings.html:28 +#: templates/InvenTree/settings/settings.html:355 #: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 #: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 #: templates/js/translated/company.js:702 #: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 +#: templates/js/translated/order.js:2225 templates/js/translated/order.js:2837 #: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 #: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 #: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 @@ -563,7 +563,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3989 msgid "Shipped" msgstr "" @@ -747,7 +747,7 @@ msgstr "" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -766,9 +766,9 @@ msgstr "" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2256 +#: templates/js/translated/order.js:2490 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4342 msgid "Reference" msgstr "" @@ -812,8 +812,8 @@ msgstr "" #: templates/js/translated/company.js:643 #: templates/js/translated/company.js:904 templates/js/translated/order.js:106 #: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 +#: templates/js/translated/order.js:2210 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 #: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 #: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 #: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 @@ -835,7 +835,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "" @@ -885,7 +885,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "" @@ -1002,9 +1002,9 @@ msgstr "" #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 #: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 #: templates/js/translated/stock.js:2587 msgid "Stock Item" @@ -1016,7 +1016,7 @@ msgstr "" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 +#: build/templates/build/detail.html:34 common/models.py:1790 #: company/templates/company/supplier_part.html:341 order/models.py:911 #: order/models.py:1437 order/serializers.py:1213 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 @@ -1039,10 +1039,10 @@ msgstr "" #: templates/js/translated/build.js:2197 #: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 +#: templates/js/translated/order.js:2262 templates/js/translated/order.js:2496 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4348 #: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 #: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 #: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 @@ -1136,8 +1136,8 @@ msgstr "" #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 #: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 #: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 #: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 @@ -1153,7 +1153,7 @@ msgstr "" #: order/serializers.py:482 stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 #: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1831 #: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 msgid "Status" msgstr "" @@ -1388,8 +1388,8 @@ msgstr "" #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/order.js:2356 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3902 templates/js/translated/part.js:1051 msgid "Target Date" msgstr "" @@ -1424,7 +1424,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 msgid "Sales Order" msgstr "" @@ -1451,7 +1451,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2398 msgid "Destination" msgstr "" @@ -1598,8 +1598,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 #: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 @@ -2200,500 +2200,516 @@ msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1263 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1264 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1270 +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1271 -msgid "Enable password forgot" +msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1272 -msgid "Enable password forgot function on the login pages" +#: common/models.py:1277 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1278 -msgid "Enable registration" -msgstr "" - -#: common/models.py:1279 -msgid "Enable self-registration for users on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1285 -msgid "Enable SSO" +msgid "Enable password forgot" msgstr "" #: common/models.py:1286 -msgid "Enable SSO on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1292 -msgid "Email required" +msgid "Enable registration" msgstr "" #: common/models.py:1293 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1299 -msgid "Auto-fill SSO users" +msgid "Enable SSO" msgstr "" #: common/models.py:1300 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1306 -msgid "Mail twice" +msgid "Email required" msgstr "" #: common/models.py:1307 -msgid "On signup ask users twice for their mail" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1313 -msgid "Password twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1314 -msgid "On signup ask users twice for their password" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1320 -msgid "Group on signup" +msgid "Mail twice" msgstr "" #: common/models.py:1321 -msgid "Group to which new users are assigned on registration" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1327 -msgid "Enforce MFA" +msgid "Password twice" msgstr "" #: common/models.py:1328 -msgid "Users must use multifactor security." +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1334 -msgid "Check plugins on startup" +msgid "Group on signup" msgstr "" #: common/models.py:1335 -msgid "Check that all plugins are installed on startup - enable in container enviroments" +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1341 +msgid "Enforce MFA" msgstr "" #: common/models.py:1342 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1348 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1349 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1356 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1357 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1364 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1365 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1372 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1373 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1380 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1381 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1388 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1389 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1396 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1397 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1416 common/models.py:1751 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1438 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1439 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1445 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1446 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1452 msgid "Show latest parts" msgstr "" -#: common/models.py:1439 +#: common/models.py:1453 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1445 +#: common/models.py:1459 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1460 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1466 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1467 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1473 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1474 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1480 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1481 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1487 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1488 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1494 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1495 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1501 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1502 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1508 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1509 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1515 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1516 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1522 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1523 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1529 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1530 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1536 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1537 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1543 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1544 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1550 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1551 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1557 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1558 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1564 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1565 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1571 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1572 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1578 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1579 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1585 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1586 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1592 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1593 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1599 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1600 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1606 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1607 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1613 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1614 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1620 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1621 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1627 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1628 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1634 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1635 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1641 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1642 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1648 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1649 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1655 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1656 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1662 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1663 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1669 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1670 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1676 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1677 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1683 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1684 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1690 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1691 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1697 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1698 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1704 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1705 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1719 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1720 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1726 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1727 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1791 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 +#: common/models.py:1798 company/serializers.py:372 #: company/templates/company/supplier_part.html:346 order/models.py:952 #: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 msgid "Price" msgstr "" -#: common/models.py:1785 +#: common/models.py:1799 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1959 common/models.py:2137 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1960 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1969 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 +#: common/models.py:1974 part/models.py:935 plugin/models.py:100 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:112 #: templates/js/translated/table_filters.js:324 @@ -2701,67 +2717,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1975 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1989 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1990 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1997 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1998 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2104 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2105 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2113 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2114 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2121 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2122 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2128 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2129 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2138 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2143 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2144 msgid "Was the work on this message finished?" msgstr "" @@ -2786,7 +2802,7 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 #: order/views.py:102 part/views.py:112 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" @@ -2945,7 +2961,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:532 #: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 +#: templates/js/translated/company.js:975 templates/js/translated/order.js:2244 #: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 msgid "MPN" msgstr "" @@ -2987,7 +3003,7 @@ msgstr "" #: company/models.py:373 part/models.py:902 part/models.py:2434 #: part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:352 +#: templates/InvenTree/settings/settings.html:349 #: templates/js/translated/company.js:805 templates/js/translated/part.js:853 msgid "Units" msgstr "" @@ -3019,7 +3035,7 @@ msgstr "" #: company/models.py:499 company/templates/company/supplier_part.html:146 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 +#: templates/js/translated/order.js:2231 templates/js/translated/part.js:228 #: templates/js/translated/part.js:1011 msgid "SKU" msgstr "" @@ -3069,7 +3085,7 @@ msgstr "" #: company/templates/company/supplier_part.html:174 #: templates/js/translated/company.js:996 templates/js/translated/order.js:820 #: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 +#: templates/js/translated/order.js:2275 templates/js/translated/order.js:2292 #: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 msgid "Pack Quantity" msgstr "" @@ -3168,7 +3184,7 @@ msgstr "" #: stock/models.py:646 stock/serializers.py:813 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 +#: templates/js/translated/company.js:428 templates/js/translated/order.js:2819 #: templates/js/translated/stock.js:2569 #: templates/js/translated/table_filters.js:435 msgid "Customer" @@ -3763,7 +3779,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" @@ -3825,7 +3841,7 @@ msgstr "" #: order/models.py:997 order/models.py:1077 order/models.py:1118 #: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" @@ -3846,7 +3862,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 +#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2378 #: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 #: templates/js/translated/table_filters.js:346 msgid "Received" @@ -4163,7 +4179,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4250,7 +4266,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 #: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:625 #: templates/js/translated/stock.js:793 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4279,42 +4295,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4346,12 +4362,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4360,22 +4376,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 +#: order/templates/order/sales_order_detail.html:77 #: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4455,7 +4471,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: templates/js/translated/order.js:3928 msgid "Available Stock" msgstr "" @@ -4565,7 +4581,7 @@ msgstr "" #: part/models.py:797 part/models.py:2272 part/models.py:2516 #: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:232 +#: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 msgid "Category" @@ -4753,7 +4769,7 @@ msgid "Parent Part" msgstr "" #: part/models.py:2474 part/models.py:2522 part/models.py:2523 -#: templates/InvenTree/settings/settings.html:227 +#: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" @@ -4765,7 +4781,7 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:236 +#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" @@ -5572,7 +5588,7 @@ msgstr "" #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 -#: templates/InvenTree/settings/plugin.html:53 +#: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 msgid "Date" @@ -5760,8 +5776,8 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:56 -msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." +#: plugin/apps.py:55 +msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" #: plugin/base/action/api.py:27 @@ -5772,23 +5788,23 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:113 +#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:83 +#: plugin/base/barcodes/api.py:80 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:87 +#: plugin/base/barcodes/api.py:84 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:126 +#: plugin/base/barcodes/api.py:120 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:223 +#: plugin/base/barcodes/api.py:217 msgid "No match found for provided value" msgstr "" @@ -5796,21 +5812,34 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 +#: plugin/builtin/barcodes/inventree_barcode.py:26 +msgid "Inventree Barcodes" +msgstr "" + +#: plugin/builtin/barcodes/inventree_barcode.py:27 +msgid "Provides native support for barcodes" +msgstr "" + +#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/integration/core_notifications.py:31 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:31 +#: plugin/builtin/integration/core_notifications.py:30 +msgid "InvenTree Notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:32 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:35 -#: plugin/builtin/integration/core_notifications.py:54 +#: plugin/builtin/integration/core_notifications.py:37 +#: plugin/builtin/integration/core_notifications.py:56 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:36 -#: plugin/builtin/integration/core_notifications.py:55 +#: plugin/builtin/integration/core_notifications.py:38 +#: plugin/builtin/integration/core_notifications.py:57 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5830,7 +5859,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:86 templates/InvenTree/settings/plugin.html:61 msgid "Key" msgstr "" @@ -5850,32 +5879,36 @@ msgstr "" msgid "Sample plugin" msgstr "" -#: plugin/models.py:188 templates/InvenTree/settings/plugin_settings.html:10 +#: plugin/models.py:167 +msgid "Builtin Plugin" +msgstr "" + +#: plugin/models.py:192 templates/InvenTree/settings/plugin_settings.html:10 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:257 msgid "Method" msgstr "" -#: plugin/plugin.py:252 +#: plugin/plugin.py:257 msgid "No author found" msgstr "" -#: plugin/plugin.py:264 +#: plugin/plugin.py:269 msgid "No date found" msgstr "" -#: plugin/registry.py:431 +#: plugin/registry.py:439 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:433 +#: plugin/registry.py:441 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:435 +#: plugin/registry.py:443 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6058,8 +6091,8 @@ msgstr "" #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:490 msgid "Serial Number" msgstr "" @@ -7087,7 +7120,7 @@ msgid "Part Parameter Templates" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:55 msgid "Plugin Settings" msgstr "" @@ -7095,52 +7128,64 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/plugin.html:38 +#: templates/InvenTree/settings/sidebar.html:57 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 +#: templates/InvenTree/settings/plugin.html:44 #: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:50 templates/navbar.html:137 -#: users/models.py:36 -msgid "Admin" +#: templates/InvenTree/settings/plugin.html:52 +msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:52 -#: templates/InvenTree/settings/plugin_settings.html:28 +#: templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 msgid "Author" msgstr "" -#: templates/InvenTree/settings/plugin.html:54 +#: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" msgstr "" -#: templates/InvenTree/settings/plugin.html:76 -msgid "Sample" +#: templates/InvenTree/settings/plugin.html:72 +msgid "Active plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:80 msgid "Inactive plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:124 +#: templates/InvenTree/settings/plugin.html:94 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:133 +#: templates/InvenTree/settings/plugin.html:103 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:135 +#: templates/InvenTree/settings/plugin.html:105 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" +#: templates/InvenTree/settings/plugin_details.html:32 +#: templates/InvenTree/settings/plugin_settings.html:101 +msgid "Builtin" +msgstr "" + +#: templates/InvenTree/settings/plugin_details.html:38 +msgid "Sample" +msgstr "" + +#: templates/InvenTree/settings/plugin_details.html:47 +msgid "Unvailable" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:17 msgid "Plugin information" msgstr "" @@ -7177,29 +7222,33 @@ msgstr "" msgid "Installation path" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/InvenTree/settings/plugin_settings.html:102 +msgid "This is a builtin plugin which cannot be disabled" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:107 msgid "Commit Author" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:104 +#: templates/InvenTree/settings/plugin_settings.html:111 #: templates/about.html:36 msgid "Commit Date" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:108 +#: templates/InvenTree/settings/plugin_settings.html:115 #: templates/about.html:29 msgid "Commit Hash" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:112 +#: templates/InvenTree/settings/plugin_settings.html:119 msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:120 +#: templates/InvenTree/settings/plugin_settings.html:127 msgid "Sign Status" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:125 +#: templates/InvenTree/settings/plugin_settings.html:132 msgid "Sign Key" msgstr "" @@ -7220,66 +7269,66 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings.html:117 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:122 +#: templates/InvenTree/settings/settings.html:119 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings.html:122 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:127 +#: templates/InvenTree/settings/settings.html:124 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:217 +#: templates/InvenTree/settings/settings.html:214 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:239 -#: templates/InvenTree/settings/settings.html:364 +#: templates/InvenTree/settings/settings.html:236 +#: templates/InvenTree/settings/settings.html:361 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:240 -#: templates/InvenTree/settings/settings.html:365 +#: templates/InvenTree/settings/settings.html:237 +#: templates/InvenTree/settings/settings.html:362 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:280 +#: templates/InvenTree/settings/settings.html:277 msgid "Create Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:325 +#: templates/InvenTree/settings/settings.html:322 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:337 +#: templates/InvenTree/settings/settings.html:334 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:341 +#: templates/InvenTree/settings/settings.html:338 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:383 +#: templates/InvenTree/settings/settings.html:380 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:402 +#: templates/InvenTree/settings/settings.html:399 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:416 +#: templates/InvenTree/settings/settings.html:413 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:424 +#: templates/InvenTree/settings/settings.html:421 msgid "Delete Part Parameter Template" msgstr "" @@ -7737,7 +7786,7 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" -#: templates/admin_button.html:2 +#: templates/admin_button.html:8 msgid "View in administration panel" msgstr "" @@ -8212,7 +8261,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 +#: templates/js/translated/order.js:3942 msgid "No Stock Available" msgstr "" @@ -8425,12 +8474,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8450,20 +8499,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3949 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3947 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 +#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3961 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4041 msgid "Build stock" msgstr "" @@ -8471,21 +8520,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4034 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8497,7 +8546,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8505,11 +8554,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -9158,218 +9207,218 @@ msgstr "" msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2120 templates/js/translated/order.js:4093 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2137 templates/js/translated/order.js:4115 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2150 templates/js/translated/order.js:4126 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2193 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2220 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 +#: templates/js/translated/order.js:2275 templates/js/translated/part.js:1043 #: templates/js/translated/part.js:1095 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 +#: templates/js/translated/order.js:2306 templates/js/translated/order.js:2509 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4361 #: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2321 templates/js/translated/order.js:2525 +#: templates/js/translated/order.js:3868 templates/js/translated/order.js:4377 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 +#: templates/js/translated/order.js:2362 templates/js/translated/order.js:3910 #: templates/js/translated/part.js:1079 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2421 templates/js/translated/part.js:1130 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2425 templates/js/translated/order.js:4047 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2426 templates/js/translated/order.js:4048 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:4052 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4425 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4426 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4427 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4456 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4477 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4488 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 #: templates/js/translated/stock.js:1602 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4031 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4037 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4044 templates/js/translated/order.js:4242 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4056 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4059 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4141 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4250 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4264 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4499 msgid "No matching lines" msgstr "" @@ -10508,6 +10557,10 @@ msgstr "" msgid "New Notifications" msgstr "" +#: templates/navbar.html:137 users/models.py:36 +msgid "Admin" +msgstr "" + #: templates/navbar.html:140 msgid "Logout" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index 39bf870e96..85ac75d7aa 100644 --- a/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:02\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:51\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "" @@ -25,27 +25,27 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "" @@ -122,43 +122,43 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "" @@ -194,7 +194,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "" @@ -228,12 +229,12 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "" @@ -270,44 +271,45 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "" @@ -320,7 +322,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "" @@ -352,187 +354,187 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "" @@ -561,8 +563,8 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "" @@ -646,7 +648,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "" @@ -654,7 +656,7 @@ msgstr "" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "" @@ -746,7 +748,7 @@ msgstr "" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "" @@ -874,8 +877,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "" @@ -883,12 +886,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "" @@ -896,7 +899,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "" @@ -929,7 +932,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "" @@ -968,11 +971,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -994,18 +997,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "" @@ -1015,12 +1018,10 @@ msgstr "" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "" @@ -1087,10 +1092,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1102,9 +1107,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "" @@ -1120,7 +1125,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "" @@ -1213,7 +1219,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "" @@ -1229,8 +1235,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "" @@ -1246,11 +1252,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1267,7 +1273,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "" @@ -1401,29 +1407,29 @@ msgstr "" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "" @@ -1449,8 +1455,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "" @@ -1462,14 +1468,14 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "" @@ -1527,7 +1533,7 @@ msgstr "" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1617,7 +1623,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" @@ -1902,9 +1908,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "" @@ -1912,9 +1918,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "" @@ -1922,8 +1929,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "" @@ -1931,7 +1938,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "" @@ -1939,8 +1946,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "" @@ -1948,10 +1955,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "" @@ -1959,10 +1966,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2816,298 +2869,301 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "" @@ -3162,14 +3218,14 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "" @@ -3203,7 +3259,7 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "" @@ -3232,7 +3288,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "" @@ -3246,7 +3302,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,7 +4185,8 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" msgstr "" #: order/templates/order/order_base.html:65 @@ -4162,7 +4194,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "" + +#: part/admin.py:21 +msgid "Part Description" +msgstr "" + +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "" + +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" + +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" + +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" + +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "" + +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "" + +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 +#: templates/js/translated/table_filters.js:68 +msgid "On Order" +msgstr "" + +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "" + +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "" + +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "" + +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" + +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:23 part/templates/part/category.html:134 +#: part/templates/part/category.html:154 +#: part/templates/part/category_sidebar.html:9 +#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 +#: templates/InvenTree/settings/sidebar.html:41 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 +#: templates/navbar.html:24 users/models.py:38 +msgid "Parts" +msgstr "" + +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:536 +#: part/api.py:552 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:554 +#: part/api.py:570 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:640 +#: part/api.py:656 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:777 +#: part/api.py:814 msgid "Valid" msgstr "" -#: part/api.py:778 +#: part/api.py:815 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:784 +#: part/api.py:821 msgid "This option must be selected" msgstr "" -#: part/api.py:1207 +#: part/api.py:1261 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1211 +#: part/api.py:1265 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1226 +#: part/api.py:1280 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 msgid "This field is required" msgstr "" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 msgid "Default Location" msgstr "" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 +#: part/bom.py:143 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 msgid "Available Stock" msgstr "" -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 -#: templates/js/translated/table_filters.js:68 -msgid "On Order" -msgstr "" - #: part/forms.py:41 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:99 +#: part/models.py:117 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:85 +#: part/models.py:125 stock/models.py:101 msgid "Icon" msgstr "" -#: part/models.py:108 stock/models.py:86 +#: part/models.py:126 stock/models.py:102 msgid "Icon (optional)" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 +#: part/models.py:141 part/templates/part/category.html:129 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 -#: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 -#: templates/navbar.html:24 users/models.py:38 -msgid "Parts" -msgstr "" - -#: part/models.py:429 +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "" msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "" msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -10738,35 +11069,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index 705be13374..d44b8bfdbf 100644 --- a/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/InvenTree/locale/es_MX/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-03 11:22+0000\n" +"POT-Creation-Date: 2022-11-07 02:58+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -43,9 +43,9 @@ msgstr "" #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 #: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:4014 +#: templates/js/translated/order.js:4413 templates/js/translated/stock.js:1374 #: templates/js/translated/stock.js:1982 msgid "Notes" msgstr "" @@ -211,7 +211,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:164 #: templates/js/translated/company.js:691 #: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1569 msgid "Link" msgstr "" @@ -229,10 +229,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1758 +#: common/models.py:1759 common/models.py:1982 common/models.py:1983 +#: common/models.py:2245 common/models.py:2246 part/models.py:2254 +#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2651 msgid "User" @@ -271,14 +271,14 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1968 #: company/models.py:359 label/models.py:101 part/models.py:760 #: part/models.py:2429 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 -#: templates/InvenTree/settings/plugin.html:51 -#: templates/InvenTree/settings/plugin.html:134 +#: templates/InvenTree/settings/plugin.html:60 +#: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:347 +#: templates/InvenTree/settings/settings.html:344 #: templates/js/translated/company.js:580 #: templates/js/translated/company.js:793 #: templates/js/translated/notification.js:71 @@ -298,13 +298,13 @@ msgstr "" #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/templates/stock/location.html:117 -#: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/InvenTree/settings/settings.html:358 +#: templates/InvenTree/settings/plugin_settings.html:28 +#: templates/InvenTree/settings/settings.html:355 #: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 #: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 #: templates/js/translated/company.js:702 #: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 +#: templates/js/translated/order.js:2225 templates/js/translated/order.js:2837 #: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 #: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 #: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 @@ -563,7 +563,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3989 msgid "Shipped" msgstr "" @@ -747,7 +747,7 @@ msgstr "" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -766,9 +766,9 @@ msgstr "" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2256 +#: templates/js/translated/order.js:2490 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4342 msgid "Reference" msgstr "" @@ -812,8 +812,8 @@ msgstr "" #: templates/js/translated/company.js:643 #: templates/js/translated/company.js:904 templates/js/translated/order.js:106 #: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 +#: templates/js/translated/order.js:2210 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 #: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 #: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 #: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 @@ -835,7 +835,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "" @@ -885,7 +885,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "" @@ -1002,9 +1002,9 @@ msgstr "" #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 #: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 #: templates/js/translated/stock.js:2587 msgid "Stock Item" @@ -1016,7 +1016,7 @@ msgstr "" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 +#: build/templates/build/detail.html:34 common/models.py:1790 #: company/templates/company/supplier_part.html:341 order/models.py:911 #: order/models.py:1437 order/serializers.py:1213 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 @@ -1039,10 +1039,10 @@ msgstr "" #: templates/js/translated/build.js:2197 #: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 +#: templates/js/translated/order.js:2262 templates/js/translated/order.js:2496 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4348 #: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 #: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 #: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 @@ -1136,8 +1136,8 @@ msgstr "" #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 #: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 #: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 #: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 @@ -1153,7 +1153,7 @@ msgstr "" #: order/serializers.py:482 stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 #: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1831 #: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 msgid "Status" msgstr "" @@ -1388,8 +1388,8 @@ msgstr "" #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/order.js:2356 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3902 templates/js/translated/part.js:1051 msgid "Target Date" msgstr "" @@ -1424,7 +1424,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 msgid "Sales Order" msgstr "" @@ -1451,7 +1451,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2398 msgid "Destination" msgstr "" @@ -1598,8 +1598,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 #: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 @@ -2200,500 +2200,516 @@ msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1263 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1264 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1270 +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1271 -msgid "Enable password forgot" +msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1272 -msgid "Enable password forgot function on the login pages" +#: common/models.py:1277 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1278 -msgid "Enable registration" -msgstr "" - -#: common/models.py:1279 -msgid "Enable self-registration for users on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1285 -msgid "Enable SSO" +msgid "Enable password forgot" msgstr "" #: common/models.py:1286 -msgid "Enable SSO on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1292 -msgid "Email required" +msgid "Enable registration" msgstr "" #: common/models.py:1293 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1299 -msgid "Auto-fill SSO users" +msgid "Enable SSO" msgstr "" #: common/models.py:1300 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1306 -msgid "Mail twice" +msgid "Email required" msgstr "" #: common/models.py:1307 -msgid "On signup ask users twice for their mail" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1313 -msgid "Password twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1314 -msgid "On signup ask users twice for their password" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1320 -msgid "Group on signup" +msgid "Mail twice" msgstr "" #: common/models.py:1321 -msgid "Group to which new users are assigned on registration" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1327 -msgid "Enforce MFA" +msgid "Password twice" msgstr "" #: common/models.py:1328 -msgid "Users must use multifactor security." +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1334 -msgid "Check plugins on startup" +msgid "Group on signup" msgstr "" #: common/models.py:1335 -msgid "Check that all plugins are installed on startup - enable in container enviroments" +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1341 +msgid "Enforce MFA" msgstr "" #: common/models.py:1342 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1348 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1349 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1356 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1357 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1364 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1365 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1372 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1373 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1380 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1381 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1388 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1389 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1396 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1397 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1416 common/models.py:1751 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1438 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1439 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1445 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1446 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1452 msgid "Show latest parts" msgstr "" -#: common/models.py:1439 +#: common/models.py:1453 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1445 +#: common/models.py:1459 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1460 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1466 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1467 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1473 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1474 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1480 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1481 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1487 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1488 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1494 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1495 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1501 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1502 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1508 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1509 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1515 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1516 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1522 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1523 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1529 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1530 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1536 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1537 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1543 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1544 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1550 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1551 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1557 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1558 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1564 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1565 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1571 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1572 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1578 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1579 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1585 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1586 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1592 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1593 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1599 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1600 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1606 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1607 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1613 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1614 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1620 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1621 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1627 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1628 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1634 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1635 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1641 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1642 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1648 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1649 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1655 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1656 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1662 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1663 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1669 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1670 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1676 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1677 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1683 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1684 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1690 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1691 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1697 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1698 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1704 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1705 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1719 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1720 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1726 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1727 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1791 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 +#: common/models.py:1798 company/serializers.py:372 #: company/templates/company/supplier_part.html:346 order/models.py:952 #: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 msgid "Price" msgstr "" -#: common/models.py:1785 +#: common/models.py:1799 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1959 common/models.py:2137 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1960 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1969 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 +#: common/models.py:1974 part/models.py:935 plugin/models.py:100 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:112 #: templates/js/translated/table_filters.js:324 @@ -2701,67 +2717,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1975 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1989 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1990 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1997 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1998 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2104 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2105 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2113 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2114 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2121 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2122 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2128 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2129 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2138 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2143 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2144 msgid "Was the work on this message finished?" msgstr "" @@ -2786,7 +2802,7 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 #: order/views.py:102 part/views.py:112 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" @@ -2945,7 +2961,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:532 #: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 +#: templates/js/translated/company.js:975 templates/js/translated/order.js:2244 #: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 msgid "MPN" msgstr "" @@ -2987,7 +3003,7 @@ msgstr "" #: company/models.py:373 part/models.py:902 part/models.py:2434 #: part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:352 +#: templates/InvenTree/settings/settings.html:349 #: templates/js/translated/company.js:805 templates/js/translated/part.js:853 msgid "Units" msgstr "" @@ -3019,7 +3035,7 @@ msgstr "" #: company/models.py:499 company/templates/company/supplier_part.html:146 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 +#: templates/js/translated/order.js:2231 templates/js/translated/part.js:228 #: templates/js/translated/part.js:1011 msgid "SKU" msgstr "" @@ -3069,7 +3085,7 @@ msgstr "" #: company/templates/company/supplier_part.html:174 #: templates/js/translated/company.js:996 templates/js/translated/order.js:820 #: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 +#: templates/js/translated/order.js:2275 templates/js/translated/order.js:2292 #: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 msgid "Pack Quantity" msgstr "" @@ -3168,7 +3184,7 @@ msgstr "" #: stock/models.py:646 stock/serializers.py:813 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 +#: templates/js/translated/company.js:428 templates/js/translated/order.js:2819 #: templates/js/translated/stock.js:2569 #: templates/js/translated/table_filters.js:435 msgid "Customer" @@ -3763,7 +3779,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" @@ -3825,7 +3841,7 @@ msgstr "" #: order/models.py:997 order/models.py:1077 order/models.py:1118 #: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" @@ -3846,7 +3862,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 +#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2378 #: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 #: templates/js/translated/table_filters.js:346 msgid "Received" @@ -4163,7 +4179,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4250,7 +4266,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 #: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:625 #: templates/js/translated/stock.js:793 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4279,42 +4295,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4346,12 +4362,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4360,22 +4376,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 +#: order/templates/order/sales_order_detail.html:77 #: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4455,7 +4471,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: templates/js/translated/order.js:3928 msgid "Available Stock" msgstr "" @@ -4565,7 +4581,7 @@ msgstr "" #: part/models.py:797 part/models.py:2272 part/models.py:2516 #: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:232 +#: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 msgid "Category" @@ -4753,7 +4769,7 @@ msgid "Parent Part" msgstr "" #: part/models.py:2474 part/models.py:2522 part/models.py:2523 -#: templates/InvenTree/settings/settings.html:227 +#: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" @@ -4765,7 +4781,7 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:236 +#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" @@ -5572,7 +5588,7 @@ msgstr "" #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 -#: templates/InvenTree/settings/plugin.html:53 +#: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 msgid "Date" @@ -5760,8 +5776,8 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:56 -msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." +#: plugin/apps.py:55 +msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" #: plugin/base/action/api.py:27 @@ -5772,23 +5788,23 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:113 +#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:83 +#: plugin/base/barcodes/api.py:80 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:87 +#: plugin/base/barcodes/api.py:84 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:126 +#: plugin/base/barcodes/api.py:120 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:223 +#: plugin/base/barcodes/api.py:217 msgid "No match found for provided value" msgstr "" @@ -5796,21 +5812,34 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 +#: plugin/builtin/barcodes/inventree_barcode.py:26 +msgid "Inventree Barcodes" +msgstr "" + +#: plugin/builtin/barcodes/inventree_barcode.py:27 +msgid "Provides native support for barcodes" +msgstr "" + +#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/integration/core_notifications.py:31 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:31 +#: plugin/builtin/integration/core_notifications.py:30 +msgid "InvenTree Notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:32 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:35 -#: plugin/builtin/integration/core_notifications.py:54 +#: plugin/builtin/integration/core_notifications.py:37 +#: plugin/builtin/integration/core_notifications.py:56 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:36 -#: plugin/builtin/integration/core_notifications.py:55 +#: plugin/builtin/integration/core_notifications.py:38 +#: plugin/builtin/integration/core_notifications.py:57 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5830,7 +5859,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:86 templates/InvenTree/settings/plugin.html:61 msgid "Key" msgstr "" @@ -5850,32 +5879,36 @@ msgstr "" msgid "Sample plugin" msgstr "" -#: plugin/models.py:188 templates/InvenTree/settings/plugin_settings.html:10 +#: plugin/models.py:167 +msgid "Builtin Plugin" +msgstr "" + +#: plugin/models.py:192 templates/InvenTree/settings/plugin_settings.html:10 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:257 msgid "Method" msgstr "" -#: plugin/plugin.py:252 +#: plugin/plugin.py:257 msgid "No author found" msgstr "" -#: plugin/plugin.py:264 +#: plugin/plugin.py:269 msgid "No date found" msgstr "" -#: plugin/registry.py:431 +#: plugin/registry.py:439 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:433 +#: plugin/registry.py:441 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:435 +#: plugin/registry.py:443 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6058,8 +6091,8 @@ msgstr "" #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:490 msgid "Serial Number" msgstr "" @@ -7087,7 +7120,7 @@ msgid "Part Parameter Templates" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:55 msgid "Plugin Settings" msgstr "" @@ -7095,52 +7128,64 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/plugin.html:38 +#: templates/InvenTree/settings/sidebar.html:57 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 +#: templates/InvenTree/settings/plugin.html:44 #: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:50 templates/navbar.html:137 -#: users/models.py:36 -msgid "Admin" +#: templates/InvenTree/settings/plugin.html:52 +msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:52 -#: templates/InvenTree/settings/plugin_settings.html:28 +#: templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 msgid "Author" msgstr "" -#: templates/InvenTree/settings/plugin.html:54 +#: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" msgstr "" -#: templates/InvenTree/settings/plugin.html:76 -msgid "Sample" +#: templates/InvenTree/settings/plugin.html:72 +msgid "Active plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:80 msgid "Inactive plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:124 +#: templates/InvenTree/settings/plugin.html:94 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:133 +#: templates/InvenTree/settings/plugin.html:103 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:135 +#: templates/InvenTree/settings/plugin.html:105 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" +#: templates/InvenTree/settings/plugin_details.html:32 +#: templates/InvenTree/settings/plugin_settings.html:101 +msgid "Builtin" +msgstr "" + +#: templates/InvenTree/settings/plugin_details.html:38 +msgid "Sample" +msgstr "" + +#: templates/InvenTree/settings/plugin_details.html:47 +msgid "Unvailable" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:17 msgid "Plugin information" msgstr "" @@ -7177,29 +7222,33 @@ msgstr "" msgid "Installation path" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/InvenTree/settings/plugin_settings.html:102 +msgid "This is a builtin plugin which cannot be disabled" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:107 msgid "Commit Author" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:104 +#: templates/InvenTree/settings/plugin_settings.html:111 #: templates/about.html:36 msgid "Commit Date" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:108 +#: templates/InvenTree/settings/plugin_settings.html:115 #: templates/about.html:29 msgid "Commit Hash" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:112 +#: templates/InvenTree/settings/plugin_settings.html:119 msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:120 +#: templates/InvenTree/settings/plugin_settings.html:127 msgid "Sign Status" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:125 +#: templates/InvenTree/settings/plugin_settings.html:132 msgid "Sign Key" msgstr "" @@ -7220,66 +7269,66 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings.html:117 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:122 +#: templates/InvenTree/settings/settings.html:119 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings.html:122 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:127 +#: templates/InvenTree/settings/settings.html:124 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:217 +#: templates/InvenTree/settings/settings.html:214 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:239 -#: templates/InvenTree/settings/settings.html:364 +#: templates/InvenTree/settings/settings.html:236 +#: templates/InvenTree/settings/settings.html:361 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:240 -#: templates/InvenTree/settings/settings.html:365 +#: templates/InvenTree/settings/settings.html:237 +#: templates/InvenTree/settings/settings.html:362 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:280 +#: templates/InvenTree/settings/settings.html:277 msgid "Create Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:325 +#: templates/InvenTree/settings/settings.html:322 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:337 +#: templates/InvenTree/settings/settings.html:334 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:341 +#: templates/InvenTree/settings/settings.html:338 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:383 +#: templates/InvenTree/settings/settings.html:380 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:402 +#: templates/InvenTree/settings/settings.html:399 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:416 +#: templates/InvenTree/settings/settings.html:413 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:424 +#: templates/InvenTree/settings/settings.html:421 msgid "Delete Part Parameter Template" msgstr "" @@ -7737,7 +7786,7 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" -#: templates/admin_button.html:2 +#: templates/admin_button.html:8 msgid "View in administration panel" msgstr "" @@ -8212,7 +8261,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 +#: templates/js/translated/order.js:3942 msgid "No Stock Available" msgstr "" @@ -8425,12 +8474,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8450,20 +8499,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3949 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3947 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 +#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3961 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4041 msgid "Build stock" msgstr "" @@ -8471,21 +8520,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4034 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8497,7 +8546,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8505,11 +8554,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -9158,218 +9207,218 @@ msgstr "" msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2120 templates/js/translated/order.js:4093 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2137 templates/js/translated/order.js:4115 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2150 templates/js/translated/order.js:4126 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2193 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2220 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 +#: templates/js/translated/order.js:2275 templates/js/translated/part.js:1043 #: templates/js/translated/part.js:1095 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 +#: templates/js/translated/order.js:2306 templates/js/translated/order.js:2509 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4361 #: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2321 templates/js/translated/order.js:2525 +#: templates/js/translated/order.js:3868 templates/js/translated/order.js:4377 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 +#: templates/js/translated/order.js:2362 templates/js/translated/order.js:3910 #: templates/js/translated/part.js:1079 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2421 templates/js/translated/part.js:1130 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2425 templates/js/translated/order.js:4047 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2426 templates/js/translated/order.js:4048 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:4052 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4425 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4426 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4427 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4456 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4477 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4488 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 #: templates/js/translated/stock.js:1602 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4031 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4037 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4044 templates/js/translated/order.js:4242 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4056 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4059 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4141 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4250 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4264 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4499 msgid "No matching lines" msgstr "" @@ -10508,6 +10557,10 @@ msgstr "" msgid "New Notifications" msgstr "" +#: templates/navbar.html:137 users/models.py:36 +msgid "Admin" +msgstr "" + #: templates/navbar.html:140 msgid "Logout" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index 3e575024cb..b2777c3405 100644 --- a/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:02\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:50\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "Address e API peida nashod" @@ -25,27 +25,27 @@ msgstr "Address e API peida nashod" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "" @@ -122,43 +122,43 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "" @@ -194,7 +194,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "" @@ -228,12 +229,12 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "" @@ -270,44 +271,45 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "" @@ -320,7 +322,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "" @@ -352,187 +354,187 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "" @@ -561,8 +563,8 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "" @@ -646,7 +648,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "" @@ -654,7 +656,7 @@ msgstr "" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "" @@ -746,7 +748,7 @@ msgstr "" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "" @@ -874,8 +877,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "" @@ -883,12 +886,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "" @@ -896,7 +899,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "" @@ -929,7 +932,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "" @@ -968,11 +971,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -994,18 +997,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "" @@ -1015,12 +1018,10 @@ msgstr "" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "" @@ -1087,10 +1092,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1102,9 +1107,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "" @@ -1120,7 +1125,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "" @@ -1213,7 +1219,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "" @@ -1229,8 +1235,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "" @@ -1246,11 +1252,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1267,7 +1273,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "" @@ -1401,29 +1407,29 @@ msgstr "" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "" @@ -1449,8 +1455,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "" @@ -1462,14 +1468,14 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "" @@ -1527,7 +1533,7 @@ msgstr "" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1617,7 +1623,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" @@ -1902,9 +1908,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "" @@ -1912,9 +1918,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "" @@ -1922,8 +1929,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "" @@ -1931,7 +1938,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "" @@ -1939,8 +1946,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "" @@ -1948,10 +1955,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "" @@ -1959,10 +1966,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2816,298 +2869,301 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "" @@ -3162,14 +3218,14 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "" @@ -3203,7 +3259,7 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "" @@ -3232,7 +3288,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "" @@ -3246,7 +3302,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,7 +4185,8 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" msgstr "" #: order/templates/order/order_base.html:65 @@ -4162,7 +4194,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "" + +#: part/admin.py:21 +msgid "Part Description" +msgstr "" + +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "" + +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" + +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" + +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" + +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "" + +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "" + +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 +#: templates/js/translated/table_filters.js:68 +msgid "On Order" +msgstr "" + +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "" + +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "" + +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "" + +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" + +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:23 part/templates/part/category.html:134 +#: part/templates/part/category.html:154 +#: part/templates/part/category_sidebar.html:9 +#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 +#: templates/InvenTree/settings/sidebar.html:41 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 +#: templates/navbar.html:24 users/models.py:38 +msgid "Parts" +msgstr "" + +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:536 +#: part/api.py:552 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:554 +#: part/api.py:570 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:640 +#: part/api.py:656 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:777 +#: part/api.py:814 msgid "Valid" msgstr "" -#: part/api.py:778 +#: part/api.py:815 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:784 +#: part/api.py:821 msgid "This option must be selected" msgstr "" -#: part/api.py:1207 +#: part/api.py:1261 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1211 +#: part/api.py:1265 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1226 +#: part/api.py:1280 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 msgid "This field is required" msgstr "" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 msgid "Default Location" msgstr "" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 +#: part/bom.py:143 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 msgid "Available Stock" msgstr "" -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 -#: templates/js/translated/table_filters.js:68 -msgid "On Order" -msgstr "" - #: part/forms.py:41 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:99 +#: part/models.py:117 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:85 +#: part/models.py:125 stock/models.py:101 msgid "Icon" msgstr "" -#: part/models.py:108 stock/models.py:86 +#: part/models.py:126 stock/models.py:102 msgid "Icon (optional)" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 +#: part/models.py:141 part/templates/part/category.html:129 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 -#: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 -#: templates/navbar.html:24 users/models.py:38 -msgid "Parts" -msgstr "" - -#: part/models.py:429 +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "" msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "" msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -10738,35 +11069,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index dce54c7da2..8d81bd7201 100644 --- a/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:02\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:50\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "Point de terminaison de l'API introuvable" @@ -25,27 +25,27 @@ msgstr "Point de terminaison de l'API introuvable" 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" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "Entrer la date" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "Notes" @@ -122,43 +122,43 @@ msgstr "Le serveur distant a renvoyé une réponse vide" msgid "Supplied URL is not a valid image file" msgstr "L'URL fournie n'est pas un fichier image valide" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "Chaîne de numéro de série vide" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Plage de groupe invalide : {g}" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Séquence de groupe invalide : {g}" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "Aucun numéro de série trouvé" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Le nombre de numéros de série uniques ({s}) doit correspondre à la quantité ({q})" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "Retirer les balises HTML de cette valeur" @@ -194,7 +194,7 @@ msgstr "Fichier manquant" msgid "Missing external link" msgstr "Lien externe manquant" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "Pièce jointe" msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "Lien" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "Lien vers une url externe" @@ -228,12 +229,12 @@ msgstr "Commentaire" msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "Utilisateur" @@ -270,44 +271,45 @@ msgstr "Erreur lors du renommage du fichier" msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "Nom" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "Description" @@ -320,7 +322,7 @@ msgid "parent" msgstr "parent" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "Chemin d'accès" @@ -332,7 +334,7 @@ msgstr "Données du code-barres" msgid "Third party barcode data" msgstr "Données de code-barres tierces" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "" @@ -352,187 +354,187 @@ msgstr "Erreur serveur" msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "Nom du fichier" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "Valeur non valide" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "Fichier de données" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "Sélectionnez le fichier de données à envoyer" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "Format de fichier non supporté" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "Fichier trop volumineux" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "Pas de colonnes trouvées dans le fichier" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "Par de lignes de données trouvées dans le fichier" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "Pas de lignes de données fournies" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "Pas de colonne de données fournie" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonne requise manquante : {name}" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonne duliquée : '{col}'" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "URL du fichier image distant" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "Le téléchargement des images depuis une URL distante n'est pas activé" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "Tchèque" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "Danois" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "Allemand" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "Grec" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "Anglais" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "Espagnol" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "Espagnol (Mexique)" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "Farsi / Perse" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "Français" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "Hébreu" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "Hongrois" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "Italien" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "Japonais" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "Coréen" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "Néerlandais" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "Norvégien" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "Polonais" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "Portugais" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "Portugais (Brésilien)" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "Russe" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "Suédois" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "Thaïlandais" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "Turc" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "Vietnamien" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "Chinois" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "Échec de la vérification du processus d'arrière-plan" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "Backend d'email non configuré" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "Échec des contrôles de santé du système" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "En attente" @@ -561,8 +563,8 @@ msgstr "Perdu" msgid "Returned" msgstr "Retourné" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "Expédié" @@ -646,7 +648,7 @@ msgstr "Séparer de l'élément parent" msgid "Split child item" msgstr "Fractionner l'élément enfant" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "Articles de stock fusionnés" @@ -654,7 +656,7 @@ msgstr "Articles de stock fusionnés" msgid "Converted to variant" msgstr "Converti en variante" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "Envoyé au client" @@ -746,7 +748,7 @@ msgstr "Ordre de Fabrication" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "Ordres de Fabrication" msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "Référence" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder associé a cette fabrication" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "Pièce" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Commande de vente à laquelle cette construction est allouée" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "Emplacement d'origine" @@ -874,8 +877,8 @@ msgstr "État de la construction" msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "Code de lot" @@ -883,12 +886,12 @@ msgstr "Code de lot" msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "Date de création" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "Date d'achèvement cible" @@ -896,7 +899,7 @@ msgstr "Date d'achèvement cible" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Date cible pour l'achèvement de la construction. La construction sera en retard après cette date." -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "Date d'achèvement" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "Responsable" @@ -929,7 +932,7 @@ msgstr "Utilisateur responsable de cette commande de construction" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "Lien Externe" @@ -968,11 +971,11 @@ msgstr "L'élément de construction doit spécifier une sortie de construction, 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:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" @@ -994,18 +997,18 @@ msgstr "Assemblage" msgid "Build to allocate parts" msgstr "Construction à laquelle allouer des pièces" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "Article en stock" @@ -1015,12 +1018,10 @@ msgstr "Stock d'origine de l'article" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "Stock d'origine de l'article" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "Quantité" @@ -1087,10 +1092,10 @@ msgstr "Cet ordre de production n'est pas complètement attribué" msgid "Enter quantity for build output" msgstr "Entrer la quantité désiré pour la fabrication" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" @@ -1102,9 +1107,9 @@ msgstr "Quantité entière requise pour les pièces à suivre" 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:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "Numéros de série" @@ -1120,7 +1125,7 @@ msgstr "Allouer automatiquement les numéros de série" msgid "Automatically allocate required items with matching serial numbers" msgstr "Affecter automatiquement les éléments requis avec les numéros de série correspondants" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "Les numéros de série suivants existent déjà, ou sont invalides" @@ -1128,18 +1133,18 @@ msgstr "Les numéros de série suivants existent déjà, ou sont invalides" msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "Emplacement" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "État" @@ -1213,7 +1219,7 @@ msgstr "Accepter les articles de stock qui n'ont pas été complètement alloué msgid "Required stock has not been fully allocated" msgstr "Le stock requis n'a pas encore été totalement alloué" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" @@ -1229,8 +1235,8 @@ msgstr "La quantité nécessaire n'a pas encore été complétée" msgid "Build order has incomplete outputs" msgstr "L'ordre de production a des sorties incomplètes" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "Article du BOM" @@ -1246,11 +1252,11 @@ msgstr "La sortie de la construction doit pointer vers la même construction" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part doit pointer sur la même pièce que l'ordre de construction" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" @@ -1267,7 +1273,7 @@ msgstr "La sortie de la construction ne peut pas être spécifiée pour l'alloca msgid "This stock item has already been allocated to this build output" msgstr "Cet article de stock a déjà été alloué à cette sortie de construction" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "Les articles d'allocation doivent être fournis" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "Date Cible" @@ -1401,29 +1407,29 @@ msgstr "Cette construction était due le %(target)s" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "En retard" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "Terminé" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "Commandes" @@ -1449,8 +1455,8 @@ msgstr "Stock d'origine" msgid "Stock can be taken from any available location." msgstr "Le stock peut être pris à partir de n'importe quel endroit disponible." -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "Destination" @@ -1462,14 +1468,14 @@ msgstr "Stockage de destination non défini" msgid "Allocated Parts" msgstr "Pièces allouées" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "Lot" @@ -1527,7 +1533,7 @@ msgstr "Commander les pièces requises" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "Commander des pièces" @@ -1597,10 +1603,10 @@ msgstr "Sorties de Construction terminées" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Pieces jointes" @@ -1617,7 +1623,7 @@ msgstr "Allocation terminée" msgid "All untracked stock items have been allocated" msgstr "Tous les articles de stock non suivis ont été alloués" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "Nouvel ordre de construction" @@ -1734,7 +1740,7 @@ msgstr "Limiter l'affichage de `about`" msgid "Show the `about` modal only to superusers" msgstr "Afficher la modale `about` uniquement aux super-utilisateurs" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Nom de la société" @@ -1902,9 +1908,9 @@ 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/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "Modèle" @@ -1912,9 +1918,10 @@ msgstr "Modèle" msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "Assemblage" @@ -1922,8 +1929,8 @@ msgstr "Assemblage" msgid "Parts can be assembled from other components by default" msgstr "Les composantes peuvent être assemblées à partir d'autres composants par défaut" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "Composant" @@ -1931,7 +1938,7 @@ msgstr "Composant" msgid "Parts can be used as sub-components by default" msgstr "Les composantes peuvent être utilisées comme sous-composants par défaut" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "Achetable" @@ -1939,8 +1946,8 @@ msgstr "Achetable" msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "Vendable" @@ -1948,10 +1955,10 @@ msgstr "Vendable" msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "Traçable" @@ -1959,10 +1966,10 @@ msgstr "Traçable" msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "Virtuelle" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "Afficher l'assistant d'importation pour certaine vues de produits" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "Afficher le prix dans les formulaires" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "Afficher le prix de la pièce dans certains formulaires" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "Afficher le prix dans la BOM" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "Inclure les informations de prix dans les tableaux de la BOM" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "Historique des prix" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "Afficher l'historique des prix pour la pièce" - -#: common/models.py:1089 msgid "Show related parts" msgstr "Afficher les pièces connexes" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "Afficher les pièces connexes à une pièce" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "Créer un stock initial" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "Créer le stock initial lors de la création d'une pièce" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "Prix internes" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "Activer les prix internes pour les pièces" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "Prix interne comme prix nomenclature" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "Utiliser le prix interne (si définie) dans le calcul du prix nomenclature" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "Format d'affichage du nom de la pièce" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "Format pour afficher le nom de la pièce" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "Icône de catégorie par défaut" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" -msgstr "Activer l'impression d'étiquettes" - -#: common/models.py:1132 -msgid "Enable label printing from the web interface" -msgstr "Activer l'impression d'étiquettes depuis l'interface Web" - -#: common/models.py:1138 -msgid "Label Image DPI" -msgstr "Étiquette image DPI" - -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" -msgstr "Résolution DPI lors de la génération de fichiers image pour fournir aux plugins d'impression d'étiquettes" - -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "Activer les rapports" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "Activer la génération de rapports" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "Mode Débogage" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "Générer des rapports en mode debug (sortie HTML)" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "Taille de la page" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "Taille de page par défaut pour les rapports PDF" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "Activer les rapports de test" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "Activer la génération de rapports de test" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "Joindre des rapports de test" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "Lors de l'impression d'un rapport de test, joignez une copie du rapport de test à l'article en stock associé" - -#: common/models.py:1187 -msgid "Globally Unique Serials" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "Les numéros de série pour les articles en stock doivent être uniques au niveau global" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "Modèle de code de lot" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "Modèle pour générer des codes par défaut pour les articles en stock" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "Expiration du stock" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "Activer la fonctionnalité d'expiration du stock" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "Vendre le stock expiré" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "Autoriser la vente de stock expiré" - -#: common/models.py:1214 -msgid "Stock Stale Time" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1217 +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" +msgstr "" + +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "jours" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "Prix internes" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "Activer les prix internes pour les pièces" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "Activer l'impression d'étiquettes" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "Activer l'impression d'étiquettes depuis l'interface Web" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "Étiquette image DPI" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "Résolution DPI lors de la génération de fichiers image pour fournir aux plugins d'impression d'étiquettes" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "Activer les rapports" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "Activer la génération de rapports" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "Mode Débogage" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "Générer des rapports en mode debug (sortie HTML)" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "Taille de la page" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "Taille de page par défaut pour les rapports PDF" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "Activer les rapports de test" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "Activer la génération de rapports de test" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "Joindre des rapports de test" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "Lors de l'impression d'un rapport de test, joignez une copie du rapport de test à l'article en stock associé" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "Les numéros de série pour les articles en stock doivent être uniques au niveau global" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "Modèle de code de lot" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "Modèle pour générer des codes par défaut pour les articles en stock" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "Expiration du stock" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "Activer la fonctionnalité d'expiration du stock" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "Vendre le stock expiré" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "Autoriser la vente de stock expiré" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "Autoriser la construction avec un stock expiré" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "Contrôle de la propriété des stocks" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "Activer le contrôle de la propriété sur les emplacements de stock et les articles" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "Icône par défaut de l'emplacement du stock" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "Icône par défaut de l'emplacement du stock (vide signifie aucune icône)" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "Modèle de référence de commande de construction" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "Modèle requis pour générer le champ de référence de l'ordre de construction" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "Modèle de référence de bon de commande" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "Modèle requis pour générer le champ de référence du bon de commande" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "Expédition par défaut du bon de commande" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "Activer la création d'expédition par défaut avec les bons de commandes" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "Modèle de référence de commande d'achat" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "Activer la fonction \"Mot de passe oublié\" sur les pages de connexion" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "Activer l'auto-inscription pour les utilisateurs sur les pages de connexion" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "Email requis" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "Mot de passe deux fois" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mot de passe" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "Grouper sur inscription" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "Groupe auquel les nouveaux utilisateurs sont assignés lors de l'inscription" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "Forcer le Multi-Factor-Authentication" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "Les utilisateurs doivent utiliser une sécurité multi-facteurs." -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "Vérifier les plugins au démarrage" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "Vérifier les signatures du plugin" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "Afficher les composants suivis" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "Afficher les composants suivis sur l'écran d'accueil" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "Afficher les derniers composants sur la page d'accueil" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "Nombre de composants récents" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "Afficher le stock épuisé" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "Afficher les stocks épuisés sur la page d'accueil" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "Afficher le stock nécessaire" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "Format de date" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "Prix" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "Actif" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "Jeton" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "ID message" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "Hôte" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "Entête" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "Corps" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "Des articles d'un bon de commande ont été reçus" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Téléverser un fichier" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2816,298 +2869,301 @@ msgstr "Composantes importées" msgid "Previous Step" msgstr "Étape précédente" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "Description de la société" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "Description de la société" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "Site web" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "Site Web de la société" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "Adresse" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "E-mail" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "Adresse e-mail de contact" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "Point de contact" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "Lien externe vers les informations de l'entreprise" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "est client" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "Vendez-vous des objets à cette entreprise?" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "est fournisseur" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "Est-ce que vous achetez des articles à cette entreprise?" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "est fabricant" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "Cette entreprise fabrique-t-elle des pièces?" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "Devise" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "Fabricant" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "Sélectionner un fabricant" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "Valeur" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "Fournisseur" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "Lien de la pièce du fournisseur externe" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "Note" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "coût de base" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "Conditionnement" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "Conditionnement de l'article" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "Nombre de paquet" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "Nombre d'unités fournies dans un seul paquet" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "plusieurs" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "Commande multiple" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "Disponible" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "Quantité disponible auprès du fournisseur" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "Code Devise" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "Société" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "Éditer les informations sur la société" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "Editer la société" @@ -3162,14 +3218,14 @@ msgstr "Ajouter une nouvelle image" msgid "Download image from URL" msgstr "Télécharger l'image depuis l'URL" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "Client" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "Téléphone" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "Charger une image" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "Télécharger une image" @@ -3203,7 +3259,7 @@ msgstr "Créer une nouvelle pièce fournisseur" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "Nouvelle pièce fournisseur" @@ -3232,7 +3288,7 @@ msgstr "Pièces du fabricant" msgid "Create new manufacturer part" msgstr "Créer une nouvelle pièce de fabricant" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "Nouvelle pièce de fabricant" @@ -3246,7 +3302,7 @@ msgstr "Stock fournisseur" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "Nouvelle commande achat" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "Liste des Fournisseurs" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "Fabricants" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "Article de la commande" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "Modifier la pièce du fabricant" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "Supprimer la pièce de fabricant" @@ -3329,35 +3384,36 @@ msgstr "Aucune information sur le fabricant disponible" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "Fournisseurs" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "Supprimer les pièces du fournisseur" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "Supprimer" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Paramètres" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "Nouveau paramètre" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "Supprimer les paramètres" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "Ajouter un paramètre" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "Articles en stock assignés" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "Pièce fournisseur" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "Information sur les prix" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "Tarif" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "Éléments en stock" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "Description de la commande" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "Lien vers une page externe" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "Créé par" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "Notes de commande" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "reçu par" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "Date d'émission" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "Date d'émission de la commande" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "Date de livraison cible" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Date prévue pour la livraison de la commande. La commande sera en retard après cette date." -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "Date à laquelle la commande a été complété" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "expédié par" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "La commande ne peut pas être terminée car aucune pièce n'a été assignée" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "Seule une commande en attente peut être marquée comme terminée" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 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:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "Contexte" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "Commande" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "Commande d’achat" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "Reçu" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "Ligne" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "Article" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "Devise *" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "La commande ne peut pas être annulée" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "La commande n'est pas ouverte" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "Devise du prix d'achat" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 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:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "Champ d'identifiant unique" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "Le code-barres est déjà utilisé" -#: order/serializers.py:527 +#: order/serializers.py:518 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:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 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:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "Les numéros de série suivants sont déjà alloués" @@ -4154,15 +4185,16 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" -msgstr "Passer la commande" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" +msgstr "" #: order/templates/order/order_base.html:65 msgid "Receive items" msgstr "Recevoir objet" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "Réception d'articles" @@ -4248,9 +4280,9 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Supprimer la ligne" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "Articles de la commande d'achat" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "Notes de commande" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "Expéditions en attente" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 -msgid "Incoming Purchase Order" +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "ID de composant" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" msgstr "" -#: part/api.py:536 -msgid "Outgoing Sales Order" +#: part/admin.py:21 +msgid "Part Description" msgstr "" -#: part/api.py:554 -msgid "Stock produced by Build Order" +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" msgstr "" -#: part/api.py:640 -msgid "Stock required for Build Order" +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "Révision" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" msgstr "" -#: part/api.py:777 -msgid "Valid" +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" msgstr "" -#: part/api.py:778 -msgid "Validate entire Bill of Materials" +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" msgstr "" -#: part/api.py:784 -msgid "This option must be selected" +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" msgstr "" -#: part/api.py:1207 -msgid "Must be greater than zero" +#: part/admin.py:31 +msgid "Default Supplier ID" msgstr "" -#: part/api.py:1211 -msgid "Must be a valid quantity" +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" msgstr "" -#: part/api.py:1226 -msgid "Specify location for initial part stock" +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 -msgid "This field is required" -msgstr "" - -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 -msgid "Default Location" -msgstr "" - -#: part/bom.py:128 templates/email/low_stock_notification.html:17 -msgid "Total Stock" -msgstr "" - -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 -msgid "Available Stock" -msgstr "" - -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "En Commande" -#: part/forms.py:41 -msgid "Input quantity for price calculation" +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" msgstr "" -#: part/models.py:99 -msgid "Default location for parts in this category" +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" msgstr "" -#: part/models.py:102 -msgid "Default keywords" +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" msgstr "" -#: part/models.py:102 -msgid "Default keywords for parts in this category" +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" msgstr "" -#: part/models.py:107 stock/models.py:85 -msgid "Icon" +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" msgstr "" -#: part/models.py:108 stock/models.py:86 -msgid "Icon (optional)" +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 -#: part/templates/part/part_app_base.html:10 -msgid "Part Category" -msgstr "Catégorie de composant" +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 -#: users/models.py:37 -msgid "Part Categories" -msgstr "Catégories de composants" +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:134 #: part/templates/part/category.html:154 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Composantes" -#: part/models.py:429 +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 +msgid "Incoming Purchase Order" +msgstr "" + +#: part/api.py:552 +msgid "Outgoing Sales Order" +msgstr "" + +#: part/api.py:570 +msgid "Stock produced by Build Order" +msgstr "" + +#: part/api.py:656 +msgid "Stock required for Build Order" +msgstr "" + +#: part/api.py:814 +msgid "Valid" +msgstr "" + +#: part/api.py:815 +msgid "Validate entire Bill of Materials" +msgstr "" + +#: part/api.py:821 +msgid "This option must be selected" +msgstr "" + +#: part/api.py:1261 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:1265 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:1280 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 +msgid "This field is required" +msgstr "" + +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 +msgid "Default Location" +msgstr "" + +#: part/bom.py:143 templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 +msgid "Available Stock" +msgstr "" + +#: part/forms.py:41 +msgid "Input quantity for price calculation" +msgstr "" + +#: part/models.py:117 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:120 +msgid "Default keywords" +msgstr "" + +#: part/models.py:120 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:125 stock/models.py:101 +msgid "Icon" +msgstr "" + +#: part/models.py:126 stock/models.py:102 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 +#: part/templates/part/part_app_base.html:10 +msgid "Part Category" +msgstr "Catégorie de composant" + +#: part/models.py:141 part/templates/part/category.html:129 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: users/models.py:37 +msgid "Part Categories" +msgstr "Catégories de composants" + +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "Description du composant" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "Catégorie" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "Révision" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "Requis" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "Données" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "ID de composant" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "Supprimer la catégorie" msgid "Delete Category" msgstr "Supprimer la catégorie" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "Composantes (incluant sous-catégories)" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "" @@ -5144,7 +5399,7 @@ msgstr "Composant créé avec succès" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "Actualiser" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "Fabricants de composants" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "Dernier numéro de série" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "Rechercher un numéro de série" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "Calculer" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "Prix d’achat unitaire" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "Tester le modèle" @@ -5601,74 +5819,82 @@ msgstr "Tester le modèle" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" -msgstr "Gammes de prix" - -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" -msgstr "Afficher le prix de vente" - -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" +msgstr "" + +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" +msgstr "" + +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "Aller à la vue d'ensemble" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "Aucun" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "Numéro de série" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "Résultat" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "Prise d'inventaire" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "Propriétaire" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "Sélectionner un propriétaire" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "La quantité doit être de 1 pour un article avec un numéro de série" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Le numéro de série ne peut pas être défini si la quantité est supérieure à 1" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "Numéro de série pour cet article" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "Les numéros de série doivent être une liste de nombres entiers" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Les numéros de série existent déja : {exists}" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "Entrez le nombre d'articles en stock à sérialiser" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "Entrez les numéros de série pour les nouveaux articles" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "Les numéros de série ne peuvent pas être assignés à cette pièce" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "Les numéros de série existent déjà" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "" msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "Clé de signature" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "Quantité requise" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "Délier" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "Supprimer l'article de stock" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "Données de la rangée" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "Télécharger le template de la BOM" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "Sélectionner un format de fichier" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "Prochain numéro de série disponible" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "Dernier numéro de série" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "Commander des stocks" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "Pas d'informations sur l'utilisateur" @@ -8593,118 +8872,144 @@ msgstr "Pas d'informations sur l'utilisateur" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "Composantes fournies" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "Composantes fabriquées" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "ID de commande" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "Référence de commande" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "Commandé" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "Commande en retard" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "Livré au client" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "Allouer des numéros de série" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "Acheter du stock" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "Calculer le prix" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "Allouer des numéros de série" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "Attributs de la pièce" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "Options de création de pièce" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "Options de duplication de pièces" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "Options de fournisseur" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "Ajouter une catégorie de pièce" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "Créer un stock initial" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "Copier l'image" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "Modifier la pièce" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "Pièce modifiée" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "Créer une variante de pièce" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "Stock bas" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "Pièce traçable" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "Pièce virtuelle" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "Pièce vendable" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "Aucune variante trouvée" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "Aucune pièce trouvée" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "Aucune catégorie" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "Afficher sous forme de liste" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "Afficher sous forme de grille" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "Afficher sous forme d'arborescence" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "Modifier le résultat du test" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "Supprimer le résultat du test" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "Le plugin a été installé" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "éléments sélectionnés" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Entrez les numéros de série pour le nouveau stock (ou laisser vide)" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "Trouver un numéro de série" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "Entrer le numéro de série" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "Entrer un numéro de série" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "Aucun numéro de série correspondant" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "Plus d'un résultat correspondant trouvé" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "Confirmer l'assignation de stock" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "Assigner le stock au client" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "Attention : l'opération de fusion est irréversible" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "Certaines informations seront perdues lors de la fusion des articles en stock" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "L'historique des transactions de stock sera supprimé pour les éléments fusionnés" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "Les informations sur la pièce du fournisseur seront supprimées pour les éléments fusionnés" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "Confirmer la fusion de l'article en stock" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "Fusionner les articles en stock" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "Transférer le stock" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "Transférer" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "Compter le stock" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "Compter" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "Supprimer du stock" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "Supprimer" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "Ajouter du stock" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "Ajouter" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "Supprimer le stock" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "La quantité ne peut pas être ajustée pour un stock sérialisé" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "Spécifiez la quantité du stock" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "Vous devez sélectionner au moins un article en stock disponible" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "RÉUSSI" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "ÉCHEC" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "AUCUN RÉSULTAT" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "Ajouter un résultat de test" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "Aucun résultat de test trouvé" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "Date du test" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "En production" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "Article en stock installé dans un autre article en stock" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "Assigné à une commande de vente" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "Aucun emplacement de stock défini" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "L'article de stock est en production" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "L'article en stock a été assigné à une commande de vente" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "L'article en stock a été assigné à un client" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "L'article de stock sérialisé a été alloué" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "L'article de stock a été complètement alloué" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "L'article de stock a été partiellement alloué" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "L'article en stock a été installé dans un autre article" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "L'article en stock a expiré" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "L'article en stock va bientôt expirer" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "L'article de stock a été rejeté" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "L'article de stock est perdu" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "L'article de stock est détruit" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "Epuisé" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "Prise d'inventaire" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "Pièce de fournisseur non précisée" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "Aucun article de stock ne correspond à la requête" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "Définir l'état du stock" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "Sélectionner le code de statut" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "Le code de statut doit être sélectionné" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "Détails" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "L'emplacement n'existe plus" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "La commande d'achat n'existe plus" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "Le client n'existe plus" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "L'article de stock n'existe plus" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "Ajouté" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "Supprimé" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "Validée" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "Inclure les sous-emplacements" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "Inclure les emplacements" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "Inclure les sous-catégories" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 +#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:238 msgid "Is Serialized" msgstr "A un numéro de série" -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:245 msgid "Serial number GTE" msgstr "Numéro de série PGE" -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:160 +#: templates/js/translated/table_filters.js:246 msgid "Serial number greater than or equal to" msgstr "Numéro de série supérieur ou égal à" -#: templates/js/translated/table_filters.js:159 -#: templates/js/translated/table_filters.js:245 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 msgid "Serial number LTE" msgstr "Numéro de série PPE" -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:246 +#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:250 msgid "Serial number less than or equal to" msgstr "Numéro de série inférieur ou égal à" -#: templates/js/translated/table_filters.js:163 -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "Numéro de série" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "Code de lot" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "Pièces actives" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "Afficher le stock pour les pièces actives" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "La pièce est un assemblage" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "Est alloué" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "L'élément a été alloué" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "Le stock est disponible pour utilisation" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "Afficher les articles de stock qui sont installés dans un autre article" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "Afficher les articles qui ont été assignés à un client" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "État du stock" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "A un prix d'achat" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "Afficher les articles de stock qui ont un prix d'achat défini" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "Afficher les articles de stock qui ont expiré" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "Afficher le stock qui est proche de l'expiration" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "État de la construction" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "Assigné à moi" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "État de la commande" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "En suspens" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "Inclure les pièces des sous-catégories" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "Afficher les pièces actives" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "A un IPN" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "La pièce a un numéro de pièce interne" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "Achetable" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "Données QR non fournies" @@ -10738,35 +11069,35 @@ msgstr "Droits" msgid "Important dates" msgstr "Dates importantes" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "Droit défini" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "Groupe" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "Vue" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "Droit de voir des éléments" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "Droit d'ajouter des éléments" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "Modifier" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "Droit de modifier des élément" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "Droit de supprimer des éléments" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 6d70f493bb..2ef5f34a67 100644 --- a/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:03\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:51\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "" @@ -25,27 +25,27 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "הזן תאריך סיום" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "" @@ -122,43 +122,43 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "מספרים סידוריים לא נמצאו" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "" @@ -194,7 +194,7 @@ msgstr "קובץ חסר" msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "קובץ מצורף" msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "קישור" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "קישור חיצוני" @@ -228,12 +229,12 @@ msgstr "הערה" msgid "File comment" msgstr "הערת קובץ" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "משתמש" @@ -270,44 +271,45 @@ msgstr "שגיאה בשינוי שם פריט" msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "שם" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "תיאור" @@ -320,7 +322,7 @@ msgid "parent" msgstr "מקור" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "" @@ -352,187 +354,187 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "שם קובץ" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "גרמנית" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "יוונית" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "אנגלית" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "ספרדית" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "ספרדית (מקסיקנית)" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "צרפתית" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "עברית" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "איטלקית" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "יפנית" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "קוריאנית" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "הולנדית" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "נורווגית" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "פולנית" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "רוסית" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "שוודית" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "תאילנדית" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "טורקית" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "ווייטנאמית" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "סינית" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "בהמתנה" @@ -561,8 +563,8 @@ msgstr "אבד" msgid "Returned" msgstr "הוחזר" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "נשלח" @@ -646,7 +648,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "" @@ -654,7 +656,7 @@ msgstr "" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "נשלח ללקוח" @@ -746,7 +748,7 @@ msgstr "" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "מקט" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "רכיב" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "" @@ -874,8 +877,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "" @@ -883,12 +886,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "" @@ -896,7 +899,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "" @@ -929,7 +932,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "" @@ -968,11 +971,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -994,18 +997,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "" @@ -1015,12 +1018,10 @@ msgstr "" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "כמות" @@ -1087,10 +1092,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1102,9 +1107,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "מספרים סידוריים" @@ -1120,7 +1125,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "" @@ -1213,7 +1219,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "" @@ -1229,8 +1235,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "" @@ -1246,11 +1252,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1267,7 +1273,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "" @@ -1401,29 +1407,29 @@ msgstr "" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "" @@ -1449,8 +1455,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "" @@ -1462,14 +1468,14 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "" @@ -1527,7 +1533,7 @@ msgstr "" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1617,7 +1623,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" @@ -1902,9 +1908,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "" @@ -1912,9 +1918,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "" @@ -1922,8 +1929,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "" @@ -1931,7 +1938,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "" @@ -1939,8 +1946,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "" @@ -1948,10 +1955,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "" @@ -1959,10 +1966,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2816,298 +2869,301 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "" @@ -3162,14 +3218,14 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "" @@ -3203,7 +3259,7 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "" @@ -3232,7 +3288,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "" @@ -3246,7 +3302,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,7 +4185,8 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" msgstr "" #: order/templates/order/order_base.html:65 @@ -4162,7 +4194,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "" + +#: part/admin.py:21 +msgid "Part Description" +msgstr "" + +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "" + +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" + +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" + +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" + +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "" + +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "" + +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 +#: templates/js/translated/table_filters.js:68 +msgid "On Order" +msgstr "" + +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "" + +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "" + +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "" + +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" + +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:23 part/templates/part/category.html:134 +#: part/templates/part/category.html:154 +#: part/templates/part/category_sidebar.html:9 +#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 +#: templates/InvenTree/settings/sidebar.html:41 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 +#: templates/navbar.html:24 users/models.py:38 +msgid "Parts" +msgstr "" + +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:536 +#: part/api.py:552 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:554 +#: part/api.py:570 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:640 +#: part/api.py:656 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:777 +#: part/api.py:814 msgid "Valid" msgstr "" -#: part/api.py:778 +#: part/api.py:815 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:784 +#: part/api.py:821 msgid "This option must be selected" msgstr "" -#: part/api.py:1207 +#: part/api.py:1261 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1211 +#: part/api.py:1265 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1226 +#: part/api.py:1280 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 msgid "This field is required" msgstr "" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 msgid "Default Location" msgstr "" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 +#: part/bom.py:143 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 msgid "Available Stock" msgstr "" -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 -#: templates/js/translated/table_filters.js:68 -msgid "On Order" -msgstr "" - #: part/forms.py:41 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:99 +#: part/models.py:117 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:85 +#: part/models.py:125 stock/models.py:101 msgid "Icon" msgstr "" -#: part/models.py:108 stock/models.py:86 +#: part/models.py:126 stock/models.py:102 msgid "Icon (optional)" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 +#: part/models.py:141 part/templates/part/category.html:129 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 -#: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 -#: templates/navbar.html:24 users/models.py:38 -msgid "Parts" -msgstr "" - -#: part/models.py:429 +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "" msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "" msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -10738,35 +11069,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index 1b2fc92306..5b77b0de20 100644 --- a/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:03\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:51\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "API funkciót nem találom" @@ -25,27 +25,27 @@ msgstr "API funkciót nem találom" msgid "Error details can be found in the admin panel" msgstr "A hiba részleteit megtalálod az admin panelen" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "Dátum megadása" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "Megjegyzések" @@ -122,43 +122,43 @@ msgstr "A kiszolgáló üres választ adott" msgid "Supplied URL is not a valid image file" msgstr "A megadott URL nem egy érvényes kép fájl" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "Üres sorozatszám" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "Duplikált sorozatszám" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Érvénytelen csoport tartomány: {g}" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "Több lett megadva {g} mint amennyi szükséges lenne ({q})" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Érvénytelen csoport szekvencia: {g}" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "Nem található sorozatszám" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "A megadott számú egyedi sorozatszám ({s}) meg kell egyezzen a darabszámmal ({q})" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "HTML tag-ek eltávolítása ebből az értékből" @@ -194,7 +194,7 @@ msgstr "Hiányzó fájl" msgid "Missing external link" msgstr "Hiányzó külső link" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "Melléklet" msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "Link" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "Link külső URL-re" @@ -228,12 +229,12 @@ msgstr "Megjegyzés" msgid "File comment" msgstr "Leírás, bővebb infó" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "Felhasználó" @@ -270,44 +271,45 @@ msgstr "Hiba a fájl átnevezésekor" msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "Név" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "Leírás" @@ -320,7 +322,7 @@ msgid "parent" msgstr "szülő" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "Elérési út" @@ -332,7 +334,7 @@ msgstr "Vonalkód adat" msgid "Third party barcode data" msgstr "Harmadik féltől származó vonalkód adat" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "Vonalkód hash" @@ -352,187 +354,187 @@ msgstr "Kiszolgálóhiba" msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "Fájlnév" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "Érvénytelen érték" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "Adat fájl" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "Fájl kiválasztása feltöltéshez" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "Nem támogatott fájltípus" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "Fájl túl nagy" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "Nem találhatók oszlopok a fájlban" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "Nincsenek adatsorok a fájlban" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "Nincs adatsor megadva" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "Nincs adat oszlop megadva" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Szükséges oszlop hiányzik: '{name}'" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplikált oszlop: '{col}'" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "A távoli kép URL-je" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "Képek letöltése távoli URL-ről nem engedélyezett" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "Cseh" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "Dán" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "Német" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "Görög" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "Angol" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "Spanyol" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "Spanyol (Mexikói)" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "Fárszi/Perzsa" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "Francia" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "Héber" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "Magyar" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "Olasz" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "Japán" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "Koreai" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "Holland" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "Norvég" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "Lengyel" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "Portugál" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "Portugál (Brazíliai)" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "Orosz" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "Svéd" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "Tháj" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "Török" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "Vietnámi" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "Kínai" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "Háttér folyamat ellenőrzés sikertelen" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "Email backend nincs beállítva" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "InvenTree rendszer állapotának ellenőrzése sikertelen" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "Függőben" @@ -561,8 +563,8 @@ msgstr "Elveszett" msgid "Returned" msgstr "Visszaküldve" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "Kiszállítva" @@ -646,7 +648,7 @@ msgstr "Szülő tételből szétválasztva" msgid "Split child item" msgstr "Szétválasztott gyermek tétel" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "Összevont készlet tétel" @@ -654,7 +656,7 @@ msgstr "Összevont készlet tétel" msgid "Converted to variant" msgstr "Alkatrészváltozattá alakítva" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "Vevőnek elküldve" @@ -746,7 +748,7 @@ msgstr "Gyártási utasítás" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "Gyártási utasítások" msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "Azonosító" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "Alkatrész" @@ -834,7 +837,7 @@ 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:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "Forrás hely" @@ -874,8 +877,8 @@ msgstr "Gyártási állapot" msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "Batch kód" @@ -883,12 +886,12 @@ msgstr "Batch kód" msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "Létrehozás dátuma" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "Befejezés cél dátuma" @@ -896,7 +899,7 @@ msgstr "Befejezés cél dátuma" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cél dátum a gyártás befejezéséhez. Ez után késettnek számít majd." -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "Elkészítés dátuma" @@ -914,11 +917,11 @@ 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:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "Felelős" @@ -929,7 +932,7 @@ msgstr "Felhasználó aki felelős ezért a gyártási utasításért" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "Külső link" @@ -968,11 +971,11 @@ msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő 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:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" @@ -994,18 +997,18 @@ msgstr "Gyártás" msgid "Build to allocate parts" msgstr "Gyártás amihez készletet foglaljunk" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "Készlet tétel" @@ -1015,12 +1018,10 @@ msgstr "Forrás készlet tétel" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "Forrás készlet tétel" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "Mennyiség" @@ -1087,10 +1092,10 @@ msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva" msgid "Enter quantity for build output" msgstr "Add meg a mennyiséget a gyártás kimenetéhez" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" @@ -1102,9 +1107,9 @@ msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett 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:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "Sorozatszámok" @@ -1120,7 +1125,7 @@ msgstr "Sorozatszámok automatikus hozzárendelése" msgid "Automatically allocate required items with matching serial numbers" msgstr "Szükséges tételek automatikus hozzárendelése a megfelelő sorozatszámokkal" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" @@ -1128,18 +1133,18 @@ msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "Hely" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "Állapot" @@ -1214,7 +1220,7 @@ msgstr "Fogadd el hogy a készlet tételek nincsenek teljesen lefoglalva ehhez a msgid "Required stock has not been fully allocated" msgstr "A szükséges készlet nem lett teljesen lefoglalva" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" @@ -1230,8 +1236,8 @@ msgstr "Szükséges gyártási mennyiség nem lett elérve" msgid "Build order has incomplete outputs" msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" @@ -1247,11 +1253,11 @@ msgstr "A gyártási kimenetnek ugyanarra a gyártásra kell mutatnia" 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:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" @@ -1268,7 +1274,7 @@ msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatr msgid "This stock item has already been allocated to this build output" msgstr "Ez a készlet tétel már le lett foglalva ehhez a gyártási kimenethez" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" @@ -1383,13 +1389,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Még nincs lefoglalva a szükséges készlet" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "Cél dátum" @@ -1402,29 +1408,29 @@ msgstr "Ez a gyártás %(target)s-n volt esedékes" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "Késésben" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "Kész" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "Vevői rendelés" @@ -1450,8 +1456,8 @@ msgstr "Készlet forrás" msgid "Stock can be taken from any available location." msgstr "Készlet bármely rendelkezésre álló helyről felhasználható." -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "Cél" @@ -1463,14 +1469,14 @@ msgstr "A cél hely nincs megadva" msgid "Allocated Parts" msgstr "Lefoglalt alkatrészek" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "Batch" @@ -1528,7 +1534,7 @@ msgstr "Szükséges alkatrészek rendelése" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "Alkatrész rendelés" @@ -1598,10 +1604,10 @@ msgstr "Befejezett gyártási kimenetek" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Mellékletek" @@ -1618,7 +1624,7 @@ msgstr "Lefoglalás kész" msgid "All untracked stock items have been allocated" msgstr "A szükséges készlet már mind le lett foglalva" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "Új gyártási utasítás" @@ -1735,7 +1741,7 @@ msgstr "Verzió infók megjelenítésének tiltása" msgid "Show the `about` modal only to superusers" msgstr "Verzió infók megjelenítése csak admin felhasználóknak" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Cég neve" @@ -1903,9 +1909,9 @@ 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/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "Sablon" @@ -1913,9 +1919,10 @@ msgstr "Sablon" msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "Gyártmány" @@ -1923,8 +1930,8 @@ msgstr "Gyártmány" msgid "Parts can be assembled from other components by default" msgstr "Alkatrészeket alapból lehessen gyártani másik alkatrészekből" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "Összetevő" @@ -1932,7 +1939,7 @@ msgstr "Összetevő" msgid "Parts can be used as sub-components by default" msgstr "Alkatrészek alapból használhatók összetevőként más alkatrészekhez" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "Beszerezhető" @@ -1940,8 +1947,8 @@ msgstr "Beszerezhető" msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "Értékesíthető" @@ -1949,10 +1956,10 @@ msgstr "Értékesíthető" msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "Követésre kötelezett" @@ -1960,10 +1967,10 @@ msgstr "Követésre kötelezett" msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "Virtuális" @@ -1980,791 +1987,837 @@ msgid "Display the import wizard in some part views" msgstr "Import segéd megjelenítése néhány alkatrész nézetben" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "Ár megjelenítése a formokon" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "Alkatrész árak megjelenítése néhány formon" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "Ár megjelenítése az alkatrészjegyzékben" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "Árinformációk megjelenítése az alkatrészjegyzék táblákban" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "Ártörténet megjelenítése" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "Alkatrész ártörténet megjelenítése" - -#: common/models.py:1089 msgid "Show related parts" msgstr "Kapcsolódó alkatrészek megjelenítése" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "Kezdeti készlet létrehozása" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "Kezdeti készlet megadása az alkatrész létrehozásakor" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "Belső árak" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "Alkatrészekhez belső ár engedélyezése" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "Belső ár alkatrészjegyzék árként" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "Belső ár használata (ha van) az alkatrészjegyzék árszámításában" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "Alkatrész név megjelenítés formátuma" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "Formátum az alkatrész név megjelenítéséhez" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "Alkatrész kategória alapértelmezett ikon" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "Alkatrész kategória alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1131 -msgid "Enable label printing" -msgstr "Címke nyomtatás engedélyezése" +#: common/models.py:1086 +msgid "Pricing Decimal Places" +msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" -msgstr "Címke nyomtatás engedélyezése a web felületről" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" +msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" -msgstr "Címke kép DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" +msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" -msgstr "Képek felbontása amik átadásra kerülnek címkenyomtató pluginoknak" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" +msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "Riportok engedélyezése" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "Riportok előállításának engedélyezése" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "Debug mód" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "Lapméret" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "Alapértelmezett lapméret a PDF riportokhoz" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "Teszt riportok engedélyezése" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "Teszt riportok előállításának engedélyezése" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "Teszt riportok hozzáadása" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "Teszt riport nyomtatáskor egy másolat hozzáadása a készlet tételhez" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "Globálisan egyedi sorozatszámok" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "A sorozatszámoknak egyedinek kell lennie a teljes készletre vonatkozóan" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "Batch kód sablon" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "Sablon a készlet tételekhez alapértelmezett batch kódok előállításához" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "Készlet lejárata" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "Készlet lejárat kezelésének engedélyezése" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "Lejárt készlet értékesítése" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "Lejárt készlet értékesítésének engedélyezése" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "Álló készlet ideje" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "Napok száma amennyivel a lejárat előtt a készlet tételeket állottnak vesszük" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "nap" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "Belső árak" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "Alkatrészekhez belső ár engedélyezése" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "Címke nyomtatás engedélyezése" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "Címke nyomtatás engedélyezése a web felületről" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "Címke kép DPI" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "Képek felbontása amik átadásra kerülnek címkenyomtató pluginoknak" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "Riportok engedélyezése" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "Riportok előállításának engedélyezése" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "Debug mód" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "Lapméret" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "Alapértelmezett lapméret a PDF riportokhoz" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "Teszt riportok engedélyezése" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "Teszt riportok előállításának engedélyezése" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "Teszt riportok hozzáadása" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "Teszt riport nyomtatáskor egy másolat hozzáadása a készlet tételhez" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "Globálisan egyedi sorozatszámok" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "A sorozatszámoknak egyedinek kell lennie a teljes készletre vonatkozóan" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "Batch kód sablon" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "Sablon a készlet tételekhez alapértelmezett batch kódok előállításához" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "Készlet lejárata" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "Készlet lejárat kezelésének engedélyezése" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "Lejárt készlet értékesítése" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "Lejárt készlet értékesítésének engedélyezése" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "Álló készlet ideje" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "Napok száma amennyivel a lejárat előtt a készlet tételeket állottnak vesszük" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "Tuajdonosok kezelésének engedélyezése a készlet helyekre és tételekre" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "Hely alapértelmezett ikon" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "Hely alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "Gyártási utasítás azonosító minta" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "Szükséges minta a gyártási utasítás azonosító mező előállításához" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "Vevői rendelés azonosító minta" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "Szükséges minta a vevői rendelés azonosító mező előállításához" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "Szállítmány automatikus létrehozása az új vevő rendelésekhez" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "Befejezett vevői rendelés szerkesztése" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "Vevői rendelések szerkesztésének engedélyezése szállítás vagy befejezés után" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "Beszerzési rendelés azonosító minta" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "Szükséges minta a beszerzési rendelés azonosító mező előállításához" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "Befejezett beszerzési rendelés szerkesztése" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "Beszérzési rendelések szerkesztésének engedélyezése kiküldés vagy befejezés után" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése a bejelentkező oldalon" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "Felhasználó adatainak automatikus kitöltése az SSO fiókadatokból" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "Regisztráláskor kétszer kérdezze a felhasználó email címét" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "Regisztráláskor kétszer kérdezze a felhasználó jelszavát" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "Csoport amihez a frissen regisztrált felhasználók hozzá lesznek rendelve" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" -msgstr "" +msgstr "Ellenőrizze induláskor hogy minden plugin telepítve van - engedélyezd konténer környezetben (docker)" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "Plugin aláírások ellenőrzése" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "Pluginok aláírásainak ellenőrzése és megjelenítése" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "URL útvonalalak hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "Háttérben futó feladatok hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "Belső eseményekre reagálás engedélyezése a pluginok számára" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "Alkatrész kategória értesítések megjelenítése a főoldalon" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "Legfrissebb alkatrész szám" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "Főoldalon megjelenítendő legújabb alkatrészek" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "Jóváhagyásra váró alkatrészjegyzékek megjelenítése a főoldalon" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "Legutóbb megváltozott alkatrészek megjelenítése a főoldalon" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "Legfrissebb készlet mennyiség" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "Főoldalon megjelenítendő legújabb készlet tételek száma" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "Gyártáshoz szükséges készletek megjelenítése a főoldalon" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "Késésben lévő gyártások megjelenítése a főoldalon" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "Késésben lévő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "Hírek megjelenítése" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "Hírek megjelenítése a főoldalon" + +#: common/models.py:1562 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "PDF címkék megjelenítése a böngészőben letöltés helyett" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "PDF riport megjelenítése a böngészőben letöltés helyett" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "Beszállítói alkatrészek keresése" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "Beszállítói alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "Gyártói alkatrészek keresése" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "Gyártói alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "Inaktív alkatrészek kihagyása a keresési előnézet találataiból" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "Alkatrész kategóriák megjelenítése a keresési előnézetben" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "Készlet tételek megjelenítése a keresési előnézetben" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "Nem elérhető készlet kihagyása a keresési előnézet találataiból" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "Gyártási utasítások keresése" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "Gyártási utasítások megjelenítése a keresés előnézet ablakban" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "Beszerzési rendelések megjelenítése a keresési előnézetben" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktív beszerzési rendelések kihagyása a keresési előnézet találataiból" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "Vevői rendelések megjelenítése a keresési előnézetben" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktív vevői rendelések kihagyása a keresési előnézet találataiból" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "A keresési előnézetben megjelenítendő eredmények száma szekciónként" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "Rendelkezésre álló alkatrész mennyiség megjelenítése néhány formon" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "ESC billentyű használata a modális formok bezárásához" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "A menü pozíciója mindig rögzítve a lap tetején" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "Táblázati szöveg hossz" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "Maximális szöveg hossz ami megjelenhet a táblázatokban" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "Árlépcső mennyiség" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "Ár" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "Aktív" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "Token" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "Titok" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "Fejléc" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "Törzs" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" +#: common/models.py:2302 +msgid "Id" +msgstr "Id" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "Cím" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "Közzétéve" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "Szerző" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "Összefoglaló" + +#: common/models.py:2333 +msgid "Read" +msgstr "Elolvasva" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "Elolvasva?" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2786,15 +2839,15 @@ msgstr "Készlet érkezett egy beszerzési megrendeléshez" msgid "Error raised by plugin" msgstr "Plugin hiba" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Fájl feltöltése" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Mezők egyeztetése" @@ -2817,298 +2870,301 @@ msgstr "Importált alkatrészek" msgid "Previous Step" msgstr "Előző lépés" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "Cég leírása" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "A cég leírása" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "Weboldal" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "Cég weboldala" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "Cím" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "Cég címe" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "Telefonszám" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "Kapcsolattartó telefonszáma" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "Email" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "Kapcsolattartó email címe" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "Kapcsolattartó" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "Kapcsolattartó" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "Link a külső céginformációhoz" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "Kép" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "Cég megjegyzések" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "vevő-e" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "Értékesítesz alkatrészeket ennek a cégnek?" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "beszállító-e" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "Vásárolsz alkatrészeket ettől a cégtől?" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "gyártó-e" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "Gyárt ez a cég alkatrészeket?" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "Pénznem" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "Cég által használt alapértelmezett pénznem" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "Kiindulási alkatrész" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "Válassz alkatrészt" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "Gyártó" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "Gyártó kiválasztása" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "MPN" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "Gyártói cikkszám" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "URL link a gyártói alkatrészhez" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "Gyártói alkatrész leírása" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "Gyártói alkatrész" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "Paraméter neve" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "Érték" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "Paraméter értéke" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "Mértékegységek" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "Paraméter mértékegység" -#: company/models.py:451 +#: company/models.py:455 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:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "Beszállító" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "SKU" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "Gyártói alkatrész kiválasztása" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "URL link a beszállítói alkatrészhez" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "Megjegyzés" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "alap költség" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "Csomagolás" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "Alkatrész csomagolás" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "Csomagolási mennyiség" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "Egy csomagban lévő mennyiség" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "többszörös" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "Többszörös rendelés" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "Elérhető" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "Beszállítónál elérhető mennyiség" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "Elérhetőség frissítve" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "Utolsó elérhetőségi adat frissítés" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "utoljára módosítva" @@ -3122,7 +3178,7 @@ msgstr "Pénznem kódja" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "Cég" @@ -3140,7 +3196,7 @@ msgid "Edit company information" msgstr "Cég adatainak szerkesztése" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "Cég szerkesztése" @@ -3163,14 +3219,14 @@ msgstr "Új kép feltöltése" msgid "Download image from URL" msgstr "Kép letöltése URL-ről" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "Vevő" @@ -3183,12 +3239,12 @@ msgid "Phone" msgstr "Telefonszám" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "Kép feltöltése" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "Kép letöltése" @@ -3204,7 +3260,7 @@ msgstr "Új beszállítói alkatrész létrehozása" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "Új beszállítói alkatrész" @@ -3233,7 +3289,7 @@ msgstr "Gyártói alkatrészek" msgid "Create new manufacturer part" msgstr "Új gyártói alkatrész létrehozása" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "Új gyártói alkatrész" @@ -3247,7 +3303,7 @@ msgstr "Beszállítói készlet" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3270,7 +3326,7 @@ msgstr "Új beszerzési rendelés" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3298,8 +3354,7 @@ msgid "Supplier List" msgstr "Beszállítók listája" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "Gyártók" @@ -3310,12 +3365,12 @@ msgid "Order part" msgstr "Alkatrész rendelés" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "Gyártói alkatrész szerkesztése" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "Gyártói alkatrész törlése" @@ -3330,35 +3385,36 @@ msgstr "Nincs elérhető gyártói információ" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "Beszállítók" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "Beszállítói alkatrész törlése" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "Törlés" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Paraméterek" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "Új paraméter" @@ -3367,7 +3423,7 @@ msgid "Delete parameters" msgstr "Paraméterek törlése" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "Paraméter hozzáadása" @@ -3388,10 +3444,10 @@ msgid "Assigned Stock Items" msgstr "Hozzárendelt készlet tételek" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "Beszállítói alkatrész" @@ -3442,13 +3498,13 @@ msgstr "Elérhetőség frissítése" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "Beszállítói alkatrész szerkesztése" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "Beszállítói alkatrész másolása" @@ -3483,7 +3539,7 @@ msgstr "Új készlet tétel létrehozása" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "Új készlet tétel" @@ -3493,47 +3549,20 @@ msgid "Supplier Part Orders" msgstr "Beszállítói alkatrész rendelések" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "Árinformációk" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "Árlépcső hozzáadása" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "Vonalkód hozzárendelése a beszállítói alkatrészhez" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "Nincs árlépcső információ" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "Árlépcső törlése" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "Árlépcső szerkesztése" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "Árlépcső szerkesztése" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "Árlépcső törlése" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "Utoljára módosítva" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "Alkatrész elérhetőség frissítése" @@ -3543,9 +3572,9 @@ msgstr "Alkatrész elérhetőség frissítése" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "Készlet" @@ -3559,19 +3588,20 @@ msgid "Supplier Part Pricing" msgstr "Beszállító alkatrész árazás" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "Árazás" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "Készlet tételek" @@ -3673,438 +3703,439 @@ msgstr "Alkatrész lekérdezés szűrők (vesszővel elválasztott kulcs=érték msgid "No matching purchase order found" msgstr "Nincs egyező beszerzési rendelés" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "Rendelés leírása" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "Link külső weboldalra" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "Készítette" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "Rendelés jegyzetek" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "Rendelés azonosító" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "Beszerzési rendelés állapota" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "Cég akitől a tételek beszerzésre kerülnek" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "Beszállítói azonosító" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "Beszállítói rendelés azonosító kód" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "érkeztette" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "Várható beérkezés" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Várt teljesítési dátuma a megrendelésnek. Ezután már késésben lévőnek számít majd." -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" -#: order/models.py:328 +#: order/models.py:332 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:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:647 +#: order/models.py:666 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:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "Cél dátum a rendelés teljesítéséhez. Ez után számít majd késettnek." -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "Kiszállítás dátuma" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "szállította" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "A rendelés nem teljesíthető mivel nincs hozzárendelve alkatrész" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "Csak függő rendelés jelölhető késznek" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 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:738 +#: order/models.py:757 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:912 +#: order/models.py:935 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "Cél szállítási dátuma ennek a sortételnek" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "Kontextus" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "Egységár" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "törölve" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "Rendelés" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "Beérkezett" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "Mit szeretne a vevő hol tároljuk ezt az alkatrészt?" -#: order/models.py:1106 +#: order/models.py:1129 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:1111 +#: order/models.py:1134 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:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "Szállítmány megjegyzései" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1384 +#: order/models.py:1407 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:1386 +#: order/models.py:1409 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:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 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:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "Szállítmány nem egyezik a vevői rendeléssel" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "Sor" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "Tétel" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "Pénznem" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "A rendelést nem lehet törölni" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 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:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "A rendelésben teljesítetlen sortételek vannak" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "A rendelés nem nyitott" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "Beszérzési ár pénzneme" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "Beszállítói alkatrészt meg kell adni" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "Beszerzési rendelést meg kell adni" -#: order/serializers.py:365 +#: order/serializers.py:357 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:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "Sortétel" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "Sortétel nem egyezik a beszerzési megrendeléssel" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "Válassz cél helyet a beérkezett tételeknek" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "Írd be a batch kódját a beérkezett tételeknek" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "Írd be a sorozatszámokat a beérkezett tételekhez" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "Egyedi azonosító mező" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "Ez a vonalkód már használva van" -#: order/serializers.py:527 +#: order/serializers.py:518 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:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "Sortételt meg kell adni" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "A cél helyet kötelező megadni" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "Megadott vonalkódoknak egyedieknek kel lenniük" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "Eladási ár pénzneme" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "Nincsenek szállítmány részletek megadva" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "Mennyiség pozitív kell legyen" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "A következő sorozatszámok már ki lettek osztva" @@ -4155,15 +4186,16 @@ msgid "Duplicate order" msgstr "Rendelés másolása" #: order/templates/order/order_base.html:61 -msgid "Place order" -msgstr "Rendelés leadása" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" +msgstr "Megrendelés elküldése" #: order/templates/order/order_base.html:65 msgid "Receive items" msgstr "Érkezett tételek bevételezése" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "Bevételezés" @@ -4249,9 +4281,9 @@ msgstr "Beszállítói alkatrész kiválasztása" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Sor törlése" @@ -4279,42 +4311,42 @@ msgstr "Sortételek" msgid "Received Stock" msgstr "Beérkezett készlet" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "Beszerzési rendelés tételei" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "Sortétel hozzáadása" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "Kiválasztott tételek bevételezése" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "Egyéb tételek" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "Egyéb tétel hozzáadása" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "Érkezett tételek" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "Rendelés megjegyzések" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "Sortétel hozzáadása" @@ -4346,12 +4378,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "Ehhez a vevői rendeléshez nincs minden alkatrész lefoglalva" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "Vevői azonosító" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Kész szállítmányok" @@ -4360,22 +4392,22 @@ msgstr "Kész szállítmányok" msgid "Edit Sales Order" msgstr "Vevői rendelés szerkesztése" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "Vevői rendelés tételek" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "Függő szállítmányok" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "Műveletek" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "Új szállítmány" @@ -4401,617 +4433,844 @@ msgstr "A {part} egységára {price}-ra módosítva" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "A {part} alkatrész módosított egységára {price} mennyisége pedig {qty}" -#: part/api.py:516 -msgid "Incoming Purchase Order" -msgstr "Beérkező beszerzési rendelés" +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "Alkatrész ID" -#: part/api.py:536 -msgid "Outgoing Sales Order" -msgstr "Kimenő vevői rendelés" +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "Alkatrész neve" -#: part/api.py:554 -msgid "Stock produced by Build Order" -msgstr "Gyártással előállított készlet" +#: part/admin.py:21 +msgid "Part Description" +msgstr "" -#: part/api.py:640 -msgid "Stock required for Build Order" -msgstr "A gyártási utasításhoz szükséges készlet" +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "IPN" -#: part/api.py:777 -msgid "Valid" -msgstr "Érvényes" +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "Változat" -#: part/api.py:778 -msgid "Validate entire Bill of Materials" -msgstr "Teljes alkatrészjegyzék jóváhagyása" +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "Kulcsszavak" -#: part/api.py:784 -msgid "This option must be selected" -msgstr "Ennek az opciónak ki kll lennie választva" +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "Kategória ID" -#: part/api.py:1207 -msgid "Must be greater than zero" -msgstr "Nullánál nagyobb kell legyen" +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" -#: part/api.py:1211 -msgid "Must be a valid quantity" -msgstr "Érvényes mennyiségnek kell lennie" +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" -#: part/api.py:1226 -msgid "Specify location for initial part stock" -msgstr "Hely megadása a kezdeti alkarész készlethez" +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 -msgid "This field is required" -msgstr "Ez a mező kötelező" +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "Minimális készlet" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 -msgid "Default Location" -msgstr "Alapértelmezett hely" +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "Készleten" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 -msgid "Total Stock" -msgstr "Teljes készlet" - -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 -msgid "Available Stock" -msgstr "Elérhető készlet" - -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "Rendelve" -#: part/forms.py:41 -msgid "Input quantity for price calculation" -msgstr "Add meg a mennyiséget az árszámításhoz" +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "Felhasználva ebben" -#: part/models.py:99 -msgid "Default location for parts in this category" -msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "Lefoglalva" -#: part/models.py:102 -msgid "Default keywords" -msgstr "Alapértelmezett kulcsszavak" +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "Gyártásban" -#: part/models.py:102 -msgid "Default keywords for parts in this category" -msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" -#: part/models.py:107 stock/models.py:85 -msgid "Icon" -msgstr "Ikon" +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" -#: part/models.py:108 stock/models.py:86 -msgid "Icon (optional)" -msgstr "Ikon (opcionális)" +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 -#: part/templates/part/part_app_base.html:10 -msgid "Part Category" -msgstr "Alkatrész kategória" +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 -#: users/models.py:37 -msgid "Part Categories" -msgstr "Alkatrész kategóriák" +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "Kategória elérési út" -#: part/models.py:344 part/templates/part/cat_link.html:3 +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:134 #: part/templates/part/category.html:154 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Alkatrészek" -#: part/models.py:429 +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "Alkatrész IPN" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 +msgid "Incoming Purchase Order" +msgstr "Beérkező beszerzési rendelés" + +#: part/api.py:552 +msgid "Outgoing Sales Order" +msgstr "Kimenő vevői rendelés" + +#: part/api.py:570 +msgid "Stock produced by Build Order" +msgstr "Gyártással előállított készlet" + +#: part/api.py:656 +msgid "Stock required for Build Order" +msgstr "A gyártási utasításhoz szükséges készlet" + +#: part/api.py:814 +msgid "Valid" +msgstr "Érvényes" + +#: part/api.py:815 +msgid "Validate entire Bill of Materials" +msgstr "Teljes alkatrészjegyzék jóváhagyása" + +#: part/api.py:821 +msgid "This option must be selected" +msgstr "Ennek az opciónak ki kll lennie választva" + +#: part/api.py:1261 +msgid "Must be greater than zero" +msgstr "Nullánál nagyobb kell legyen" + +#: part/api.py:1265 +msgid "Must be a valid quantity" +msgstr "Érvényes mennyiségnek kell lennie" + +#: part/api.py:1280 +msgid "Specify location for initial part stock" +msgstr "Hely megadása a kezdeti alkarész készlethez" + +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 +msgid "This field is required" +msgstr "Ez a mező kötelező" + +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 +msgid "Default Location" +msgstr "Alapértelmezett hely" + +#: part/bom.py:143 templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "Teljes készlet" + +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 +msgid "Available Stock" +msgstr "Elérhető készlet" + +#: part/forms.py:41 +msgid "Input quantity for price calculation" +msgstr "Add meg a mennyiséget az árszámításhoz" + +#: part/models.py:117 +msgid "Default location for parts in this category" +msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" + +#: part/models.py:120 +msgid "Default keywords" +msgstr "Alapértelmezett kulcsszavak" + +#: part/models.py:120 +msgid "Default keywords for parts in this category" +msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" + +#: part/models.py:125 stock/models.py:101 +msgid "Icon" +msgstr "Ikon" + +#: part/models.py:126 stock/models.py:102 +msgid "Icon (optional)" +msgstr "Ikon (opcionális)" + +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 +#: part/templates/part/part_app_base.html:10 +msgid "Part Category" +msgstr "Alkatrész kategória" + +#: part/models.py:141 part/templates/part/category.html:129 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: users/models.py:37 +msgid "Part Categories" +msgstr "Alkatrész kategóriák" + +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "Hibás választás a szülő alkatrészre" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "A '{p1}' alkatrész a '{p2}' alkatrészjegyzékében már szerepel (rekurzív)" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "Létezik már készlet tétel ilyen a sorozatszámmal" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "Azonos IPN nem engedélyezett az alkatrész beállításokban" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "Alkatrész leírása" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "Kulcsszavak" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredményekben" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "Kategória" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "IPN" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "Belső cikkszám" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "Alkatrész változat vagy verziószám (pl. szín, hossz, revízió, stb.)" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "Változat" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "Alapértelmezett beszállítói alkatrész" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:890 +#: part/models.py:909 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:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "Minimális készlet" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "Az alkatrész raktározási mértékegységei" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "Gyártható-e ez az alkatrész más alkatrészekből?" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "Felhasználható-e ez az alkatrész más alkatrészek gyártásához?" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "Kell-e külön követni az egyes példányait ennek az alkatrésznek?" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "Rendelhető-e ez az alkatrész egy külső beszállítótól?" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "Értékesíthető-e önmagában ez az alkatrész a vevőknek?" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "Ez egy virtuális nem megfogható alkatrész, pl. szoftver vagy licenc?" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "Alkatrész megjegyzések" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "Teszt sablont csak követésre kötelezett alkatrészhez lehet csinálni" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "Erre az alkatrészre már létezik teszt ilyen névvel" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "Kötelező" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:2375 +#: part/models.py:2988 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:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:2381 +#: part/models.py:2994 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:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "Paraméter mértékegysége" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "Adat" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "Alkatrész ID" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:2572 -msgid "Part Name" -msgstr "Alkatrész neve" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "Alkatrész IPN" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "Szint" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "Opcionális" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "Fogyóeszköz" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ez a BOM tétel fogyóeszköz (készlete nincs követve a gyártásban)" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:2681 +#: part/models.py:3294 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:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "Örökölt" -#: part/models.py:2694 +#: part/models.py:3307 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:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:2700 +#: part/models.py:3313 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:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 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:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:2923 +#: part/models.py:3558 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:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "1.rész" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "2.rész" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:838 +#: part/serializers.py:862 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:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:844 +#: part/serializers.py:868 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:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "Helyettesítő alkatrészek másolása az alkatrészjegyzék tételek másolásakor" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "Meglévő alkatrészjegyzék tételek törlése a feltöltés előtt" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "Az alkatrész nem lett összetevőként jelölve" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "Legalább egy alkatrészjegyzék tétel szükséges" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "Alacsony készlet értesítés" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "A {part.name} alkatrész rendelkezésre álló készlete a megadott minimum alá csökkent" @@ -5035,7 +5294,7 @@ msgstr "A %(part)s alkatrészhez tartozó alkatrészjegyzéket utoljár msgid "The BOM for %(part)s has not been validated." msgstr "A %(part)s alkatrészhez tartozó alkatrészjegyzék még nincs jóváhagyva." -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "Alkatrészjegyzék műveletek" @@ -5071,10 +5330,6 @@ msgstr "Kategória törlése" msgid "Delete Category" msgstr "Kategória törlése" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "Kategória elérési út" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "Legfelső szintű alkatrész kategória" @@ -5092,12 +5347,12 @@ msgstr "Alkatrészek száma (alkategóriákkal együtt)" msgid "Create new part" msgstr "Alkatrész létrehozása" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "Új alkatrész" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "Opciók" @@ -5145,7 +5400,7 @@ msgstr "Alkatrész sikeresen létrehozva" msgid "Import Parts" msgstr "Alkatrészek importálása" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "Alkatrész másolása" @@ -5177,7 +5432,8 @@ msgstr "Alkatrész készlet" msgid "Refresh scheduling data" msgstr "Ütemezési adatok frissítése" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "Frissítés" @@ -5193,123 +5449,103 @@ msgstr "Teszt sablon hozzáadása" msgid "Sales Order Allocations" msgstr "Vevői rendeléshez foglalások" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "Alkatrész megjegyzések" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "Alkatrész változatok" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "Új változat létrehozása" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "Új változat" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "Paraméter hozzáadása" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "Kapcsolódó alkatrészek" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "Kapcsolódó hozzáadása" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "Alkatrészjegyzék" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "Exportálási műveletek" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "Alkatrészjegyzék exportálása" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "Alkatrészjegyzék riport nyomtatása" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "Alkatrészjegyzék feltöltése" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "Alkatrészjegyzék jóváhagyása" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "Alkatrészjegyzék tétel hozzáadása" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "Gyártmányok" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "Alkatrész gyártások" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "Gyártáshoz foglalások" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "Alkatrész beszállítók" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "Alkatrész gyártók" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "Gyártói alkatrészek törlése" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "Kapcsolódó alkatrész" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "Kapcsolódó alkatrész hozzáadása" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "Teszt eredmény sablon hozzáadása" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "Beszerzési egységár - %(currency)s" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "Egységár-önköltség különbség - %(currency)s" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "Beszállítói egység költség - %(currency)s" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "Egységár - %(currency)s" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5440,15 +5676,15 @@ msgid "Part is virtual (not a physical part)" msgstr "Virtuális (nem kézzelfogható alkatrész)" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "Inaktív" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "Alkatrész részletei" @@ -5457,12 +5693,6 @@ msgstr "Alkatrész részletei" msgid "This part is a variant of %(link)s" msgstr "Ez az alkatrész egy változata a %(link)s alkatrésznek" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "Készleten" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5473,100 +5703,91 @@ msgstr "Gyártáshoz lefoglalva" msgid "Allocated to Sales Orders" msgstr "Vevő rendeléshez lefoglalva" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "Gyártható" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "Gyártásban" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "Minimális készlet" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "Legutolsó sorozatszám" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "Sorozatszámra keresés" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "Vonalkód hozzárendelése az alkatrészhez" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "Számítás" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "Nincs egyező kép" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "Részletek elrejtése" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "Beszállító árazás" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "Egység költség" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "Teljes költség" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "Nincs beszállítói árinfomáció" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "Alkatrészjegyzék árazás" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "Beszerzési egységár" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "Teljes beszerzési ár" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "Megjegyzés: ennek az alkatrésznek az alkatrészjegyzék árazása nem teljes" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "Nincs alkatrészjegyzék árinfomáció" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "Belső ár" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "Az alkatrészhez nem áll rendelkezésre árinformáció." @@ -5574,7 +5795,8 @@ msgstr "Az alkatrészhez nem áll rendelkezésre árinformáció." #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "Dátum" @@ -5586,15 +5808,11 @@ msgstr "Ütemezett mennyiség" msgid "Variants" msgstr "Változatok" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "Felhasználva ebben" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "Ütemezés" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "Teszt sablonok" @@ -5602,74 +5820,82 @@ msgstr "Teszt sablonok" msgid "Select from existing images" msgstr "Válassz a meglévő képek közül" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" -msgstr "Ártartományok" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" +msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" -msgstr "Beszállítói költség megjelenítése" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" +msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" -msgstr "Beszerzési ár megjelenítése" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" +msgstr "Utoljára módosítva" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" -msgstr "Alkatrészjegyzék költség megjelenítése" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" +msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" -msgstr "Értékesítési költség megjelenítése" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" +msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" -msgstr "Eladási ár megjelenítése" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" +msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" -msgstr "Számítási paraméterek" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" +msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" -msgstr "Beszállítói költség" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" +msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "Ugrás az áttekintéshez" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "Készlet árazás" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "Az alkatrészhez nem áll rendelkezésre ártörténet." - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "Belső költség" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "Belső árlépcső hozzáadása" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" -msgstr "Alkatrészjegyzék költség" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" +msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" -msgstr "Eladási költség" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" +msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "Az alkatrészhez nem áll rendelkezésre eladási ártörténet." - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "Nincs készlet" @@ -5723,46 +5949,42 @@ msgstr "Alkatrész változat létrehozása" msgid "Create a new variant of template '%(full_name)s'." msgstr "Új változat létrehozása a '%(full_name)s' sablonból." -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "Ismeretlen adatbázis" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "{title} v{version}" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "Azonosítók egyeztetése" -#: part/views.py:415 -msgid "None" -msgstr "Egyik sem" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "Alkatrész QR kódja" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "Válassz képet az alkatrészhez" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "Alkatrész képe frissítve" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "Az alkatrész képe nem található" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "Alkatrész árak" #: plugin/apps.py:55 msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" +msgstr "A környezeted egy elavult git verziót használ. Ez megakadályozza hogy az InvenTree betöltse a plugin részleteit." #: plugin/base/action/api.py:27 msgid "No action specified" @@ -5798,11 +6020,11 @@ msgstr "Címkenyomtatás sikertelen" #: plugin/builtin/barcodes/inventree_barcode.py:26 msgid "Inventree Barcodes" -msgstr "" +msgstr "Inventree vonalkódok" #: plugin/builtin/barcodes/inventree_barcode.py:27 msgid "Provides native support for barcodes" -msgstr "" +msgstr "Alapvető vonalkód támogatást ad" #: plugin/builtin/barcodes/inventree_barcode.py:29 #: plugin/builtin/integration/core_notifications.py:31 @@ -5811,7 +6033,7 @@ msgstr "InvenTree fejlesztők" #: plugin/builtin/integration/core_notifications.py:30 msgid "InvenTree Notifications" -msgstr "" +msgstr "InvenTree értesítések" #: plugin/builtin/integration/core_notifications.py:32 msgid "Integrated outgoing notificaton methods" @@ -5865,7 +6087,7 @@ msgstr "Példa plugin" #: plugin/models.py:167 msgid "Builtin Plugin" -msgstr "" +msgstr "Beépített plugin" #: plugin/models.py:192 templates/InvenTree/settings/plugin_settings.html:10 msgid "Plugin" @@ -6071,12 +6293,12 @@ msgid "Stock Item Test Report" msgstr "Készlet tétel teszt riport" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "Sorozatszám" @@ -6085,12 +6307,12 @@ msgid "Test Results" msgstr "Teszt eredmények" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "Teszt" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "Eredmény" @@ -6108,383 +6330,435 @@ msgid "Installed Items" msgstr "Beépített tételek" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "Sorozatszám" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "Hely ID" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "Hely elérési út" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "Beszállítói cikkszám" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "Beépítve ebbe" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "Gyártás ID" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "Leltár" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "Lejárati dátum" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész esetén" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "Tulajdonos" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "Tulajdonos kiválasztása" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "Virtuális alkatrészből nem lehet készletet létrehozni" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "A alkatrész típus ('{pf}') {pe} kell legyen" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "Mennyiség 1 kell legyen a sorozatszámmal rendelkező tételnél" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Nem lehet sorozatszámot megadni ha a mennyiség több mint egy" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "A tétel nem tartozhat saját magához" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "A tételnek kell legyen gyártási azonosítója ha az is_bulding igaz" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "Gyártási azonosító nem ugyanarra az alkatrész objektumra mutat" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "Szülő készlet tétel" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "Kiindulási alkatrész" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "Válassz egy egyező beszállítói alkatrészt ehhez a készlet tételhez" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Készlet hely" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "Hol található ez az alkatrész?" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "A csomagolása ennek a készlet tételnek itt van tárolva" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "Beépítve ebbe" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "Ez a tétel be van építve egy másik tételbe?" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "Sorozatszám ehhez a tételhez" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "Készlet mennyiség" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "Forrás gyártás" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "Gyártás ehhez a készlet tételhez" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "Forrás beszerzési rendelés" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "Beszerzés ehhez a készlet tételhez" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "Cél vevői rendelés" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "Lejárati dátum" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Készlet tétel lejárati dátuma. A készlet lejártnak tekinthető ezután a dátum után" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "Törlés ha kimerül" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "Készlet tétel törlése ha kimerül" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "Készlet tétel megjegyzések" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "Egy egység beszerzési ára a beszerzés időpontjában" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "Alkatrésszé alakítva" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "Az alkatrész nem követésre kötelezett" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "Mennyiség egész szám kell legyen" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "A mennyiség nem lépheti túl a készletet ({n})" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "A sorozatszám egész számok listája kell legyen" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Ezek a sorozatszámok már léteznek: {exists}" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "Készlet tétel beépül egy másikba" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "A készlet tétel más tételeket tartalmaz" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "Készlet tétel gyártás alatt" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "A készlet tétel ugyanarra a beszállítói alkatrészre kell vonatkozzon" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "Készlet tételek állapotainak egyeznie kell" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "Készlet tétel nem mozgatható mivel nincs készleten" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "Teszt neve" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "Tesztek megjegyzései" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "Szériaszám túl nagy" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "Beszerzési ára ennek a készlet tételnek" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "Add meg hány készlet tételt lássunk el sorozatszámmal" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "A mennyiség nem lépheti túl a rendelkezésre álló készletet ({q})" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "Írd be a sorozatszámokat az új tételekhez" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "Cél készlet hely" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "Opcionális megjegyzés mező" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "A sorozatszámok már léteznek" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "Válaszd ki a beépítésre szánt készlet tételt" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "Készlet tétel nem elérhető" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "Cél hely a kiszedett tételeknek" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "Tranzakció megjegyzés hozzáadása (opcionális)" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "Válassz alkatrészt amire konvertáljuk a készletet" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "A kiválasztott alkatrész nem megfelelő a konverzióhoz" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "Cél hely a visszatérő tételeknek" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "Az alkatrésznek értékesíthetőnek kell lennie" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "A tétel egy vevő rendeléshez foglalt" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "A tétel egy gyártási utasításhoz foglalt" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "Vevő akihez rendeljük a készlet tételeket" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "A kiválasztott cég nem egy vevő" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "Készlet hozzárendelés megjegyzései" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "A készlet tételek listáját meg kell adni" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "Készlet összevonás megjegyzései" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "Nem egyező beszállítók megengedése" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "Különböző beszállítói alkatrészekből származó készletek összevonásának engedélyezése" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "Nem egyező állapotok megjelenítése" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "Különböző állapotú készletek összevonásának engedélyezése" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "Legalább két készlet tételt meg kell adni" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "Készlet tétel elsődleges kulcs értéke" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "Készlet tranzakció megjegyzései" @@ -6521,7 +6795,7 @@ msgstr "Teszt adatok hozzáadása" msgid "Installed Stock Items" msgstr "Beépített készlet tételek" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "Készlet tétel beépítése" @@ -6529,7 +6803,7 @@ msgstr "Készlet tétel beépítése" msgid "Delete all test results for this stock item" msgstr "Készlet tétel összes teszt eredményének törlése" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "Teszt eredmény hozzáadása" @@ -6688,7 +6962,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Ez a készlet tétel lejárt %(item.expiry_date)s-n" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "Lejárt" @@ -6698,16 +6972,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Ez a készlet tétel lejár %(item.expiry_date)s-n" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "Állott" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "Utoljára módosítva" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "Utolsó leltár" @@ -6784,11 +7052,6 @@ msgstr "Hely szerkesztése" msgid "Delete location" msgstr "Hely törlése" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "Hely elérési út" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "Legfelső szintű készlet hely" @@ -6961,6 +7224,14 @@ msgstr "Függő vevői rendelések" msgid "Overdue Sales Orders" msgstr "Késésben lévő vevői rendelések" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "InvenTree hírek" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "Jelenlegi hírek" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "Értesítések előzményei" @@ -7027,30 +7298,6 @@ msgstr "Gyártási utasítás bellításai" msgid "Category Settings" msgstr "Kategória beállítások" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "Pénznem beállítások" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "Alapértelmezett pénznem" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "Árfolyamok" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "Utolsó frissítés" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "Soha" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "Frissítés most" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "Kiszolgáló beállítások" @@ -7091,15 +7338,15 @@ msgstr "Megnyitás új fülön" msgid "Part Settings" msgstr "Alkatrész beállítások" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "Alkatrész importálás" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "Alkatrész importálása" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "Alkatrész paraméter sablonok" @@ -7124,12 +7371,7 @@ msgstr "Plugin Telepítése" #: templates/InvenTree/settings/plugin.html:52 msgid "External plugins are not enabled for this InvenTree installation" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "Szerző" +msgstr "Külső pluginok nincsenek engedélyezve" #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 @@ -7138,7 +7380,7 @@ msgstr "Verzió" #: templates/InvenTree/settings/plugin.html:72 msgid "Active plugins" -msgstr "" +msgstr "Aktív pluginok" #: templates/InvenTree/settings/plugin.html:80 msgid "Inactive plugins" @@ -7160,7 +7402,7 @@ msgstr "Üzenet" #: templates/InvenTree/settings/plugin_details.html:32 #: templates/InvenTree/settings/plugin_settings.html:101 msgid "Builtin" -msgstr "" +msgstr "Beépített" #: templates/InvenTree/settings/plugin_details.html:38 msgid "Sample" @@ -7168,7 +7410,7 @@ msgstr "Minta" #: templates/InvenTree/settings/plugin_details.html:47 msgid "Unvailable" -msgstr "" +msgstr "Nem elérhető" #: templates/InvenTree/settings/plugin_settings.html:17 msgid "Plugin information" @@ -7208,7 +7450,7 @@ msgstr "Telepítési útvonal" #: templates/InvenTree/settings/plugin_settings.html:102 msgid "This is a builtin plugin which cannot be disabled" -msgstr "" +msgstr "Ez egy beépített plugin amit nem lehet letiltani" #: templates/InvenTree/settings/plugin_settings.html:107 msgid "Commit Author" @@ -7240,6 +7482,39 @@ msgstr "Aláíró kulcs" msgid "Purchase Order Settings" msgstr "Beszerzési rendelés beállításai" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "Pénznem beállítások" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "Frissítés most" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "Utolsó frissítés" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "Soha" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "Alapértelmezett pénznem" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "Árfolyamok" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7296,6 +7571,7 @@ msgid "No part parameter templates found" msgstr "Nincs alkatrész paraméter sablon" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "Azonosító" @@ -7358,10 +7634,6 @@ msgstr "Általános beállítások" msgid "Server Configuration" msgstr "Kiszolgáló konfiguráció" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "Pénznemek" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "Kategóriák" @@ -7381,7 +7653,7 @@ msgid "Change Password" msgstr "Jelszó módosítása" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "Szerkesztés" @@ -7891,7 +8163,7 @@ msgid "The following parts are low on required stock" msgstr "A következő alkatrészek szükséges készlete alacsony" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "Szükséges mennyiség" @@ -7905,7 +8177,7 @@ msgid "Click on the following link to view this part" msgstr "Klikk a következő linkre az alkatrész megjelenítéséhez" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "Minimum mennyiség" @@ -8058,7 +8330,7 @@ msgstr "Ez törli a vonalkód hozzárendelést" msgid "Unlink" msgstr "Leválasztás" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "Készlet tétel törlése" @@ -8128,10 +8400,10 @@ msgstr "Sor adatok mutatása" msgid "Row Data" msgstr "Sor adat" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Bezárás" @@ -8141,12 +8413,12 @@ msgid "Download BOM Template" msgstr "Alkarészjegyzék sablon letöltése" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "Formátum" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "Fájlfomátum kiválasztása" @@ -8198,118 +8470,130 @@ msgstr "Beszállítói adatokkal együtt" msgid "Include part supplier data in exported BOM" msgstr "Beszállítói adatok megjelenítése az exportált alkatrészjegyzékben" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "Helyettesítő alkatrész törlése" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "Válassz és adj hozzá új helyettesítő alkatrészt a lenti mezőben" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "Biztosan törölni akarod ezt a helyettesítő alkatrész hozzárendelést?" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "Helyettesítő alkatrész törlése" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "Helyettesítő hozzáadása" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "Alkatrészjegyzék tétel helyettesítők szerkesztése" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "Az összes kijelölt alkatrészjegyzék tétel törlésre kerül" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "Töröljük a kiválasztott alkatrészjegyzék tételeket?" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "BOM betöltése az al-gyártmányhoz" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "Vannak helyettesítők" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "Készletváltozatok engedélyezve" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "Nincs szabad" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "Változatokkal és helyettesítőkkel együtt" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "Változatokkal együtt" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "Helyettesítőkkel együtt" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "Helyettesítõk" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "Alkatrészjegyzék megtekintése" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" -msgstr "Beszerzési ártartomány" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" +msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" -msgstr "Beszerzési átlagár" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" +msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "Nincs szabad" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "Változatokkal és helyettesítőkkel együtt" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "Változatokkal együtt" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "Helyettesítőkkel együtt" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "Fogyóeszköz tétel" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "Alkatrészjegyzék tétel jóváhagyása" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "Ez a sor jóvá lett hagyva" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "Helyettesítő alkatrészek szerkesztése" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "Alkatrészjegyzék tétel szerkesztése" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "Alkatrészjegyzék tétel törlése" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "Nem találhatók alkatrészjegyzék tételek" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "Szükséges alkatrész" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "Örökölve a szülő alkatrészjegyzéktől" @@ -8354,12 +8638,12 @@ msgid "Complete Build Order" msgstr "Gyártási utasítás befejezése" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "Következő szabad sorozatszám" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "Legutolsó sorozatszám" @@ -8456,12 +8740,12 @@ msgid "No required tests for this build" msgstr "Nincsenek szükséges tesztek ehhez a gyártáshoz" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "Készlet foglalások szerkesztése" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "Készlet foglalások törlése" @@ -8481,20 +8765,15 @@ msgstr "Vannak helyettesítő alkatrészek" msgid "Quantity Per" msgstr "Szükséges/db" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "Nincs elegendő" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "Van elegendő" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "Lefoglalva" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "Gyártási készlet" @@ -8502,21 +8781,21 @@ msgstr "Gyártási készlet" msgid "Order stock" msgstr "Készlet rendelés" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "Lefoglalt készlet" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Kiválasztott alkatrészek" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "Legalább egy alkatrész választása szükséges a foglaláshoz" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" @@ -8528,7 +8807,7 @@ msgstr "Minden alkatrész lefoglalva" msgid "All selected parts have been fully allocated" msgstr "Minden kiválasztott alkatrész teljesen lefoglalva" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "Válassz forrás helyet (vagy hagyd üresen ha bárhonnan)" @@ -8536,11 +8815,11 @@ msgstr "Válassz forrás helyet (vagy hagyd üresen ha bárhonnan)" msgid "Allocate Stock Items to Build Order" msgstr "Készlet foglalása a gyártási utasításhoz" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "Nincs egyező készlethely" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "Nincs egyező készlet" @@ -8572,9 +8851,9 @@ msgstr "Készlet tételek foglalása" msgid "No builds matching query" msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "Kiválaszt" @@ -8586,7 +8865,7 @@ msgstr "Gyártás késésben van" msgid "Progress" msgstr "Haladás" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "Nincs felhasználói információ" @@ -8594,118 +8873,144 @@ msgstr "Nincs felhasználói információ" msgid "No parts allocated for" msgstr "Nincs lefoglalt alkatrész ehhez" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "Gyártó hozzáadása" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "Gyártói alkatrész hozzáadása" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "Gyártói alkatrész szerkesztése" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "Beszállító hozzáadása" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "Beszállítói alkatrész hozzáadása" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "Az összes kiválasztott beszállítói alkatrész törölve lesz" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "Beszállítói alkatrészek törlése" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "Új cég hozzáadása" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "Beszállított alkatrészek" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "Gyártott alkatrészek" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "Nem található céginformáció" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "Az összes kijelölt gyártói alkatrész törlésre kerül" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "Gyártói alkatrészek törlése" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "Az összes kijelölt paraméter törlésre kerül" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "Paraméterek törlése" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "Nincs gyártói alkatrész" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "Sablon alkatrész" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "Gyártmány alkatrész" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "Nem található paraméter" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "Paraméter szerkesztése" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "Paraméter törlése" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "Paraméter szerkesztése" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "Paraméter törlése" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "Nincs beszállítói alkatrész" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "Elérhetőség" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "Beszállítói alkatrész szerkesztése" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "Beszállítói alkatrész törlése" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "Árlépcső törlése" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "Árlépcső szerkesztése" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "Nincs árlépcső információ" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "Utoljára módosítva" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "Árlépcső szerkesztése" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "Árlépcső törlése" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8786,27 +9091,27 @@ msgstr "Keresés" msgid "Clear input" msgstr "Bevitel törlése" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "Fájl oszlop" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "Mező név" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "Oszlopok kiválasztása" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "IGEN" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "NEM" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "Megjegyzések frissítve" @@ -8815,7 +9120,7 @@ msgid "Labels sent to printer" msgstr "Címkék nyomtatónak elküldve" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "Készlet tételek kiválasztása" @@ -8935,14 +9240,6 @@ msgstr "Cég ID" msgid "Stock ID" msgstr "Készlet ID" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "Hely ID" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "Gyártás ID" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8953,17 +9250,13 @@ msgstr "Rendelés ID" msgid "Shipment ID" msgstr "Szállítmány ID" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "Kategória ID" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "Gyártói cikkszám" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" -msgstr "Beszállítói cikkszám" +#: templates/js/translated/news.js:23 +msgid "No news found" +msgstr "Nem találhatók hírek" #: templates/js/translated/notification.js:42 msgid "Age" @@ -9105,659 +9398,688 @@ msgstr "Beszerzési rendelés szerkesztése" msgid "Duplication Options" msgstr "Másolási opciók" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "Rendelés exportálása" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "Legalább egy beszerezhető alkatrészt ki kell választani" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "Rendelendő mennyiség" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "Új beszállítói alkatrész" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "Új beszerzési rendelés" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "Hozzáadás beszerzési rendeléshez" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "Nincsenek egyező beszállítói alkatrészek" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "Nincsenek egyező beszerzési rendelések" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "Sortételek kiválasztása" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "Legalább egy sortételt ki kell választani" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "Batch kód hozzáadása" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "Sorozatszám hozzáadása" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "Beérkezett mennyiség" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "Érkező mennyiség" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "Készlet állapota" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "Rendelési kód" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "Megrendelve" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "Érkező mennyiség" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "Bevételezés megerősítése" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "Beszerzési rendelés tételeinek bevételezése" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "Nem található beszerzési rendelés" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "Rendelés késésben" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "Tételek" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "Sortétel másolása" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "Sortétel törlése" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "Nem találhatók sortételek" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "Összesen" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "Teljes mennyiség" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "Egységár" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "Teljes ár" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "Ez a sortétel késésben van" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "Sortétel bevételezése" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "Sortétel másolása" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "Sortétel törlése" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "Sor másolása" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "Sor szerkesztése" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "Sor törlése" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "Sor másolása" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "Sor szerkesztése" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "Sor törlése" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "Nincs egyező sor" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "Nem található vevői rendelés" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "Érvénytelen vevő" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "Szállítmány szerkesztése" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "Szállítmány kiszállítása" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "Szállítmány törlése" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "Szállítmány szerkesztése" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "Szállítmány törlése" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "Nincs egyező szállímány" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "Szállítmány azonosító" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "Nincs kiszállítva" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "Nyomkövetés" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "Számla" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "Szállítmány hozzáadása" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "Készlet foglalás megerősítése" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "Készlet foglalása a vevői rendeléshez" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "Nincs vevői rendeléshez történő foglalás" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "Készlet foglalások szerkesztése" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "Törlési művelet megerősítése" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "Készlet foglalások törlése" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "Vevőnek kiszállítva" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "Készlethely nincs megadva" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "Sorozatszámok kiosztása" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "Készletrendelés" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "Árszámítás" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "Nem törölhető mivel a tételek ki lettek szállítva" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "Nem törölhető mivel tételek vannak lefoglalva" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "Sorozatszámok kiosztása" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "Egységár módosítása" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "Nincs egyező sortétel" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "Nincsenek egyező sorok" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "Alkatrész tulajdonságok" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "Alkatrész létrehozási opciók" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "Alkatrész másolási opciók" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "Beszállítói opciók" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "Alkatrész kategória hozzáadása" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "Kezdeti készlet létrehozása" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "Kezdeti készlet tétel létrehozása ehhez az alkatrészhez" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "Add meg a kezdeti készlet mennyiségét ennek az alkatrésznek" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "Válassz cél készlet helyet" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "Paraméter sablonok másolása a kiválasztott alkatrész kategóriából" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "Beszállító adatok hozzáadása" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "Kezdeti beszállítói adatok létrehozása ehhez az alkatrészhez" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "Kép másolása" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "Kép másolása az eredeti alkatrészről" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "Paraméterek másolása az eredeti alkatrészről" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "Felsőbb szintű alkatrész kategória" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "Ikon (opcionális) - Az összes ikon felfedezése itt" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "Alkatrész kategória szerkesztése" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "Biztos hogy törölni szeretnéd ezt az alkatrész kategóriát?" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" -msgstr "A lentebbi kategóriák a szülő kategóriába lesznek mozgatva" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" +msgstr "Áthelyezés fentebbi kategóriába" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "A kategória alkatrészei a szülő kategóriába lesznek mozgatva" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "Alkatrész kategória törlése" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "A kategóriában lévő alkatrészek kezelése" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "Alkategóriák kezelése" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "Alkatrész szerkesztése" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "Alkatrész módosítva" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "Alkatrész változat létrehozása" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "Aktív alkatrész" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "Alkatrész nem törölhető mivel még aktív" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "Ezen alkatrész törlése nem vonható vissza" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "Ennek az alkatrésznek a teljes készlete törölve lesz" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "Ez az alkatrész minden alkatrészjegyzékből törölve lesz" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "Ehhez az alkatrészhez rendelt minden beszállítói és gyártói információ törölve lesz" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "Alkatrész törlése" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "Értesítések beállítva erre a tételre" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "Értesítések beállítva erre a tételre" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "Értesítések kérése erre a tételre" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "Értesítések letiltva erre a tételre" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "Az alkatrészjegyzék jóváhagyása minden sortételt jóvá fog hagyni" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "Alkatrészjegyzék jóváhagyása" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "Alkatrészjegyzék jóvá lett hagyva" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "Alkatrészjegyzék másolása" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "Alacsony készlet" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "Nincs szabad" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "Követésre kötelezett alkatrész" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "Virtuális alkatrész" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "Értesítésre beállított alkatrész" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "Értékesíthető alkatrész" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "Nincs több változat" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "Nincs alkatrész" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "Nincs kategória" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "Nincs készlet" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "Gyártáshoz lefoglalva" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "Vevő rendeléshez lefoglalva" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "Megjelenítés listaként" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "Megjelenítés rácsnézetként" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "Kategória beállítása a kiválasztott alkatrészekhez" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "Alkatrész kategória beállítása" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "Alkatrész kategória kiválasztása" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "Kategória megadása kötelező" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "Megjelenítés fában" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "Alkategóriák betöltése" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "Értesítésre beállított kategória" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "Nincs a lekérdezéssel egyező teszt sablon" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "Ez a teszt a szülő alkatrészhez lett felvéve" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "Teszt eredmény sablon szerkesztése" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "Teszt eredmény sablon törlése" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "Nincs ${human_name} információ" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "${human_name} szerkesztése" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "${human_name} törlése" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "Nincs megadva dátum" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "A megadott dátum a múltban van" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "Spekulatív" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "Az alkatrészhez nem áll rendelkezésre ütemezési információ" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "Hiba az alkatrész ütemezési információinak betöltésekor" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "Ütemezett készlet mennyiség" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "Minimum mennyiség" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "Minimális készlet" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "Egységes ár" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "Egységes ár különbség" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "A plugin telepítve lett" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "${human_name} szerkesztése" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "${human_name} törlése" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "kiválasztott tételek" @@ -9856,364 +10178,364 @@ msgstr "Új készlet hely" msgid "Are you sure you want to delete this stock location?" msgstr "Biztosan törölni szeretnéd ezt a készlet helyet?" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" -msgstr "A lentebbi helyek a szülő helybe lesznek mozgatva" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" +msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "A hely készlete a szülő helyre lesz mozgatva" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "Készlethely törlése" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "Ezt az alkatrészt nem lehet sorozatszámozni" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "Add meg a kezdeti mennyiséget ehhez a készlet tételhez" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Add meg az új készlet tételhez tartozó sorozatszámokat (vagy hagyd üresen)" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "Készlet tétel lemásolva" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "Készlet tétel másolása" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "Biztosan törölni szeretnéd ezt a készlet tételt?" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "Készlet tétel törlése" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "Készlet tétel szerkesztése" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "Készlet tétel létrehozva" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "Több készlet tétel létre lett hozva" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "Sorozatszám keresése" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "Sorozatszám megadása" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "Adj meg egy sorozatszámot" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "Nincs egyező sorozatszám" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "Több egyező eredmény is van" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "Készlet hozzárendelés jóváhagyása" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "Készlet vevőhöz rendelése" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "Figyelem: az összevonási művelet nem vonható vissza" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "Némi információ elveszik a készlet összevonás során" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "A készlettörténet törölve lesz az összevont tételeknél" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "A beszállítói alkatrész információk törlődnek az összevont tételeknél" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "Készlet összevonás megerősítése" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "Készlet tételek összevonása" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "Készlet áthelyezése" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "Áthelyezés" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "Leltározás" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "Mennyiség" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "Készlet csökkentése" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "Kivesz" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "Készlet növelése" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "Hozzáad" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "Készlet törlése" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "Egyedi követésre kötelezett tételeknél a menyiség nem módosítható" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "Készlet mennyiség megadása" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "Ki kell választanod legalább egy rendelkezésre álló készlet tételt" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "Készlet módosítás jóváhagyása" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "SIKER" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "SIKERTELEN" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "NINCS EREDMÉNY" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "Teszt sikeres" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "Teszt eredmény hozzáadása" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "Nincs teszt eredmény" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "Teszt dátuma" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "Gyártásban" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "Beépítve készlet tételbe" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "Vevő rendeléshez hozzárendelve" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "Nincs hely megadva" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "Készlet tétel gyártás alatt" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "Egyedi követésre kötelezett készlet tétel lefoglalva" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "Készlet tétel teljes egészében lefoglalva" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "Készlet tétel részben lefoglalva" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "Készlet tétel beépítve egy másikba" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "Készlet tétel lejárt" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "Készlet tétel hamarosan lejár" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "Készlet tétel elutasítva" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "Készlet tétel elveszett" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "Készlet tétel megsemmisült" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "Kimerült" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "Leltár" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "Beszállítói alkatrész nincs megadva" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "Nincs a lekérdezésnek megfelelő készlet tétel" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "Készlet állapot beállítása" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "Státuszkód kiválasztása" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "Státuszkódot ki kell választani" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "Alhelyek betöltése" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "Részletek" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "Alkatrész információ nem áll rendelkezésre" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "A hely már nem létezik" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "Beszerzési megrendelés már nem létezik" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "Vevő már nem létezik" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "A készlet tétel már nem létezik" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "Hozzáadva" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "Eltávolítva" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "Nincsenek beépített tételek" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "Készlet tétel kiszedése" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "Válaszd ki a kiszedni való készlet tételt" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "Másik tétel beépítése ebbe a készlet tételbe" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Készlet tételek csak akkor építhetők be ha teljesítik a következő kritériumokat" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "A készlet tétel egy olyan alkatrészre mutat ami alkatrészjegyzéke ennek a készlet tételnek" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "A készlet tétel jelenleg elérhető készleten" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "A készlet tétel még nem épült be egy másik tételbe" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "A készlet tétel követett vagy sorozatszámmal vagy batch kóddal" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "Válaszd ki a beépítendő alkatrészt" @@ -10237,215 +10559,220 @@ msgstr "Jóváhagyva" msgid "Allow Variant Stock" msgstr "Készlet változatok engedélyezése" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "Alhelyekkel együtt" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "Helyekkel együtt" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "Alkategóriákkal együtt" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "Értesítés beállítva" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 +#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:238 msgid "Is Serialized" msgstr "Sorozatszámos" -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:245 msgid "Serial number GTE" msgstr "Sorozatszám >=" -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:160 +#: templates/js/translated/table_filters.js:246 msgid "Serial number greater than or equal to" msgstr "Sorozatszám nagyobb vagy egyenlő mint" -#: templates/js/translated/table_filters.js:159 -#: templates/js/translated/table_filters.js:245 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 msgid "Serial number LTE" msgstr "Sorozatszám <=" -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:246 +#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:250 msgid "Serial number less than or equal to" msgstr "Sorozatszám kisebb vagy egyenlő mint" -#: templates/js/translated/table_filters.js:163 -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "Sorozatszám" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "Batch kód" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "Aktív alkatrész" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "Aktív alkatrészek készletének megjelenítése" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "Az alkatrész egy gyártmány" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "Lefoglalt" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "Az tétel lefoglalásra került" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "Felhasználható készlet" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "Alhelyeken lévő készlettel együtt" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "Kimerült készlet tételek megjelenítése" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "Készleten lévő tételek megjelenítése" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "Gyártásban" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "Gyártásban lévő tételek megjelenítése" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "Változatokkal együtt" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "Alkatrészváltozatok készletével együtt" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "Beépítve" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "Másik tételbe beépült tételek mutatása" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "Készlet tételek melyek hozzá vannak rendelve egy vevőhöz" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "Készlet állapota" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "Van batch kódja" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "Követett" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "Követett készlet tétel sorozatszámmal vagy batch kóddal" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "Van beszerzési ára" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "Beszerzési árral rendelkező készlet tételek megjelenítése" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "Lejárt készlet tételek megjelenítése" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "Hamarosan lejáró készlet tételek megjelenítése" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "Teszten megfelelt" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "Beépített tételekkel együtt" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "Gyártási állapot" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "Hozzám rendelt" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "Rendelés állapota" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "Kintlévő" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "Alkategóriákkal együtt" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "Aktív alkatrészek megjelenítése" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "Elérhető" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "Van IPN-je" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "Van belső cikkszáma" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "Készleten" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "Beszerezhető" @@ -10555,6 +10882,10 @@ msgstr "Mentés" msgid "Show all notifications and history" msgstr "Összes értesítés és előzmény megjelenítése" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "Nincs QR kód adat megadva" @@ -10739,35 +11070,35 @@ msgstr "Jogosultságok" msgid "Important dates" msgstr "Fontos dátumok" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "Jogosultságok" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "Csoport" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "Nézet" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "Jogosultság tételek megtekintéséhez" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "Jogosultság tételek hozzáadásához" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "Módosítás" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "Jogosultság tételek szerkesztéséhez" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index 95b25cf9a8..59bea88574 100644 --- a/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:02\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:50\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "API endpoint tidak ditemukan" @@ -25,27 +25,27 @@ msgstr "API endpoint tidak ditemukan" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "Masukkan tanggal" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "Catatan" @@ -122,43 +122,43 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "URL yang diberikan bukan file gambar yang valid" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "Jumlah yang diberikan tidak valid" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "Nomor seri kosong" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Jangkauan grup tidak valid: {g}" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Urutan grup tidak valid: {g}" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "Tidak ada nomor seri ditemukan" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "" @@ -194,7 +194,7 @@ msgstr "File tidak ditemukan" msgid "Missing external link" msgstr "Tautan eksternal tidak ditemukan" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "Lampiran" msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "Tautan" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" @@ -228,12 +229,12 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar file" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "Pengguna" @@ -270,44 +271,45 @@ msgstr "Kesalahan merubah nama file" msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "Nama" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "Keterangan" @@ -320,7 +322,7 @@ msgid "parent" msgstr "induk" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "Direktori" @@ -332,7 +334,7 @@ msgstr "Data Barcode" msgid "Third party barcode data" msgstr "Data barcode pihak ketiga" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "Barcode Hash" @@ -352,187 +354,187 @@ msgstr "Terjadi Kesalahan Server" msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "Nama File" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "Nilai tidak valid" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "File data" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "Pilih file untuk diunggah" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "Jenis file tidak didukung" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "Ukuran file terlalu besar" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "Tidak ditemukan kolom dalam file" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "Tidak ditemukan barisan data dalam file" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "Tidak ada barisan data tersedia" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "Tidak ada kolom data tersedia" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Kolom yang diperlukan kurang: '{name}'" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Kolom duplikat: '{col}'" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "URL file gambar external" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "Unduhan gambar dari URL external tidak aktif" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "Ceko" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "Denmark" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "Jerman" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "Yunani" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "Inggris" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "Spanyol" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "Spanyol (Meksiko)" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "Farsi / Persia" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "Perancis" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "Ibrani" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "Hungaria" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "Itali" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "Jepang" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "Korea" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "Belanda" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "Norwegia" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "Polandia" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "Portugis" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "Portugis (Brasil)" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "Rusia" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "Swedia" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "Thai" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "Turki" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "Vietnam" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "Cina" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "" @@ -561,8 +563,8 @@ msgstr "Hilang" msgid "Returned" msgstr "Dikembalikan" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "Dikirim" @@ -646,7 +648,7 @@ msgstr "Dipisah dari item induk" msgid "Split child item" msgstr "Pisah item dari barang induk" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "Stok item digabungkan" @@ -654,7 +656,7 @@ msgstr "Stok item digabungkan" msgid "Converted to variant" msgstr "Dikonversi ke variasi" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "Terkirim ke pelanggan" @@ -746,7 +748,7 @@ msgstr "Order Produksi" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "Order Produksi" msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "Referensi" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "Produksi induk dari produksi ini" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "Bagian" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Order penjualan yang teralokasikan ke pesanan ini" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "Lokasi Sumber" @@ -874,8 +877,8 @@ msgstr "Status pembuatan" msgid "Build status code" msgstr "Kode status pembuatan" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "Kode Kelompok" @@ -883,12 +886,12 @@ msgstr "Kode Kelompok" msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "Tanggal Pembuatan" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "Target tanggal selesai" @@ -896,7 +899,7 @@ msgstr "Target tanggal selesai" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Target tanggal selesai produksi. Produksi akan menjadi terlambat setelah tanggal ini." -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "Tanggal selesai" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "Penanggung Jawab" @@ -929,7 +932,7 @@ msgstr "Pengguna yang bertanggung jawab atas order ini" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "Tautan eksternal" @@ -968,11 +971,11 @@ msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" @@ -994,18 +997,18 @@ msgstr "Produksi" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "Stok Item" @@ -1015,12 +1018,10 @@ msgstr "Sumber stok item" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "Sumber stok item" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "Jumlah" @@ -1087,10 +1092,10 @@ msgstr "Hasil produksi tidak dialokasikan sepenuhnya" msgid "Enter quantity for build output" msgstr "Masukkan jumlah hasil pesanan" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" @@ -1102,9 +1107,9 @@ msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat" 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:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "Nomor Seri" @@ -1120,7 +1125,7 @@ msgstr "Alokasikan nomor seri secara otomatis" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "Daftar hasil pesanan harus disediakan" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "Lokasi" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "Lokasi hasil pesanan yang selesai" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "Status" @@ -1213,7 +1219,7 @@ msgstr "Terima bahwa stok item tidak teralokasikan sepenuhnya ke pesanan ini" msgid "Required stock has not been fully allocated" msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "Terima Tidak Selesai" @@ -1229,8 +1235,8 @@ msgstr "Jumlah produksi yang diperlukan masih belum cukup" msgid "Build order has incomplete outputs" msgstr "Order memiliki hasil produksi yang belum dilengkapi" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "Item tagihan material" @@ -1246,11 +1252,11 @@ msgstr "Hasil pesanan harus mengarah ke pesanan yang sama" 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:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Jumlah tersedia ({q}) terlampaui" @@ -1267,7 +1273,7 @@ msgstr "Hasil produksi tidak dapat ditentukan untuk alokasi barang yang tidak te msgid "This stock item has already been allocated to this build output" msgstr "Stok item ini telah dialokasikan ke hasil produksi ini" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "Item yang dialokasikan harus disediakan" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "" @@ -1401,29 +1407,29 @@ msgstr "" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "" @@ -1449,8 +1455,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "" @@ -1462,14 +1468,14 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "" @@ -1527,7 +1533,7 @@ msgstr "" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1617,7 +1623,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" @@ -1902,9 +1908,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "" @@ -1912,9 +1918,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "" @@ -1922,8 +1929,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "" @@ -1931,7 +1938,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "" @@ -1939,8 +1946,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "" @@ -1948,10 +1955,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "" @@ -1959,10 +1966,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2816,298 +2869,301 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "" @@ -3162,14 +3218,14 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "" @@ -3203,7 +3259,7 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "" @@ -3232,7 +3288,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "" @@ -3246,7 +3302,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,7 +4185,8 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" msgstr "" #: order/templates/order/order_base.html:65 @@ -4162,7 +4194,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "" + +#: part/admin.py:21 +msgid "Part Description" +msgstr "" + +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "" + +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" + +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" + +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" + +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "" + +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "" + +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 +#: templates/js/translated/table_filters.js:68 +msgid "On Order" +msgstr "" + +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "" + +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "" + +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "" + +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" + +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:23 part/templates/part/category.html:134 +#: part/templates/part/category.html:154 +#: part/templates/part/category_sidebar.html:9 +#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 +#: templates/InvenTree/settings/sidebar.html:41 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 +#: templates/navbar.html:24 users/models.py:38 +msgid "Parts" +msgstr "" + +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:536 +#: part/api.py:552 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:554 +#: part/api.py:570 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:640 +#: part/api.py:656 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:777 +#: part/api.py:814 msgid "Valid" msgstr "" -#: part/api.py:778 +#: part/api.py:815 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:784 +#: part/api.py:821 msgid "This option must be selected" msgstr "" -#: part/api.py:1207 +#: part/api.py:1261 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1211 +#: part/api.py:1265 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1226 +#: part/api.py:1280 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 msgid "This field is required" msgstr "" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 msgid "Default Location" msgstr "" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 +#: part/bom.py:143 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 msgid "Available Stock" msgstr "" -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 -#: templates/js/translated/table_filters.js:68 -msgid "On Order" -msgstr "" - #: part/forms.py:41 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:99 +#: part/models.py:117 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:85 +#: part/models.py:125 stock/models.py:101 msgid "Icon" msgstr "" -#: part/models.py:108 stock/models.py:86 +#: part/models.py:126 stock/models.py:102 msgid "Icon (optional)" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 +#: part/models.py:141 part/templates/part/category.html:129 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 -#: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 -#: templates/navbar.html:24 users/models.py:38 -msgid "Parts" -msgstr "" - -#: part/models.py:429 +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "" msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "" msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -10738,35 +11069,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 8cc8988071..5730d7755e 100644 --- a/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:03\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:51\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "Endpoint API non trovato" @@ -25,27 +25,27 @@ msgstr "Endpoint API non trovato" msgid "Error details can be found in the admin panel" msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministrazione" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "Inserisci la data" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "Note" @@ -122,43 +122,43 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "L'URL fornito non è un file immagine valido" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "Numero seriale vuoto" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Range gruppo: {g}" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Sequenza gruppo non valida: {g}" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "Nessun numero di serie trovato" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Il numero dei numeri seriali univoci ({s}) deve essere uguale alla quantità ({q})" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "" @@ -194,7 +194,7 @@ msgstr "File mancante" msgid "Missing external link" msgstr "Link esterno mancante" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "Allegato" msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "Collegamento" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "Link a URL esterno" @@ -228,12 +229,12 @@ msgstr "Commento" msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "Utente" @@ -270,44 +271,45 @@ msgstr "Errore nella rinominazione del file" msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "Nome" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "Descrizione" @@ -320,7 +322,7 @@ msgid "parent" msgstr "genitore" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "Percorso" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "" @@ -352,187 +354,187 @@ msgstr "Errore del server" msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "Nome del file" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "Valore non valido" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "File dati" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "Seleziona un file per il caricamento" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "Formato file non supportato" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "File troppo grande" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "Nessun colonna trovata nel file" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "Nessuna riga di dati trovata nel file" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Colonna richiesta mancante: '{name}'" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Colonna duplicata: '{col}'" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "Ceco" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "Tedesco" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "Greco" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "Inglese" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "Spagnolo" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "Spagnolo (Messicano)" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "Farsi / Persiano" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "Francese" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "Ebraico" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "Ungherese" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "Giapponese" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "Olandese" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "Norvegese" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "Polacco" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "Portoghese" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "Portoghese (Brasile)" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "Russo" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "Svedese" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "Thailandese" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "Cinese" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "Controllo in background non riuscito" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "Server di posta non configurato" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "Controlli di sistema InvenTree falliti" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "In attesa" @@ -561,8 +563,8 @@ msgstr "Perso" msgid "Returned" msgstr "Reso" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "Spedito" @@ -646,7 +648,7 @@ msgstr "Diviso dall'elemento genitore" msgid "Split child item" msgstr "Dividi elemento figlio" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "Elemento stock raggruppato" @@ -654,7 +656,7 @@ msgstr "Elemento stock raggruppato" msgid "Converted to variant" msgstr "Convertito in variante" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "Inviato al cliente" @@ -746,7 +748,7 @@ msgstr "Ordine di Produzione" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "Ordini di Produzione" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "Riferimento" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "Articolo" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "Posizione Di Origine" @@ -874,8 +877,8 @@ msgstr "Stato Build" msgid "Build status code" msgstr "" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "Codice Lotto" @@ -883,12 +886,12 @@ msgstr "Codice Lotto" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "Data di creazione" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "Data completamento obiettivo" @@ -896,7 +899,7 @@ msgstr "Data completamento obiettivo" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "Data di completamento" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "Responsabile" @@ -929,7 +932,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "Collegamento esterno" @@ -968,11 +971,11 @@ msgstr "" 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:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" @@ -994,18 +997,18 @@ msgstr "Produzione" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "Articoli in magazzino" @@ -1015,12 +1018,10 @@ msgstr "Origine giacenza articolo" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "Origine giacenza articolo" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "Quantità" @@ -1087,10 +1092,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "Inserisci la quantità per l'output di compilazione" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" @@ -1102,9 +1107,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "Codice Seriale" @@ -1120,7 +1125,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "Posizione" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "Stato" @@ -1213,7 +1219,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "" @@ -1229,8 +1235,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "Distinta base (Bom)" @@ -1246,11 +1252,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" @@ -1267,7 +1273,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "Data scadenza" @@ -1401,29 +1407,29 @@ msgstr "" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "In ritardo" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "Completato" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "Ordini di Vendita" @@ -1449,8 +1455,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "Lo stock può essere prelevato da qualsiasi posizione disponibile." -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "Destinazione" @@ -1462,14 +1468,14 @@ msgstr "Posizione di destinazione non specificata" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "Lotto" @@ -1527,7 +1533,7 @@ msgstr "Ordina articoli richiesti" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "Ordine Articoli" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Allegati" @@ -1617,7 +1623,7 @@ msgstr "Assegnazione Completa" msgid "All untracked stock items have been allocated" msgstr "Tutte le giacenze non tracciate sono state assegnate" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Nome azienda" @@ -1902,9 +1908,9 @@ 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/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "" @@ -1912,9 +1918,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "Assemblaggio" @@ -1922,8 +1929,8 @@ msgstr "Assemblaggio" msgid "Parts can be assembled from other components by default" msgstr "Gli articoli possono essere assemblate da altri componenti per impostazione predefinita" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "Componente" @@ -1931,7 +1938,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Gli articoli possono essere assemblati da altri componenti per impostazione predefinita" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "Acquistabile" @@ -1939,8 +1946,8 @@ msgstr "Acquistabile" msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "Vendibile" @@ -1948,10 +1955,10 @@ msgstr "Vendibile" msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "Tracciabile" @@ -1959,10 +1966,10 @@ msgstr "Tracciabile" msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "Virtuale" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "Mostra la procedura guidata di importazione in alcune viste articoli" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "Mostra il prezzo nei moduli" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "Mostra il prezzo dell'articolo in alcuni moduli" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "Mostra il prezzo nella BOM" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "Includi le informazioni sui prezzi nelle tabelle BOM" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "Mostra articoli correlati" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "Visualizza parti correlate per ogni articolo" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "Crea giacenza iniziale" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "Crea giacenza iniziale sulla creazione articolo" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "Prezzi interni" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "Abilita prezzi interni per gli articoli" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "Prezzo interno come BOM-Price" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "Utilizzare il prezzo interno (se impostato) nel calcolo del prezzo BOM" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "Formato di visualizzazione del nome articolo" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "Formato per visualizzare il nome dell'articolo" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "Abilita Report di Stampa" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "Abilita generazione di report di stampa" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "Modalità Debug" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "Genera report in modalità debug (output HTML)" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "Dimensioni pagina" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "Dimensione predefinita della pagina per i report PDF" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "Abilita generazione di stampe di prova" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "Scadenza giacenza" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "Abilita funzionalità di scadenza della giacenza" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "Vendi giacenza scaduta" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "Consenti la vendita di stock scaduti" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "Numero di giorni in cui gli articoli in magazzino sono considerati obsoleti prima della scadenza" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "giorni" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "Prezzi interni" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "Abilita prezzi interni per gli articoli" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "Abilita Report di Stampa" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "Abilita generazione di report di stampa" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "Modalità Debug" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "Genera report in modalità debug (output HTML)" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "Dimensioni pagina" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "Dimensione predefinita della pagina per i report PDF" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "Abilita generazione di stampe di prova" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "Scadenza giacenza" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "Abilita funzionalità di scadenza della giacenza" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "Vendi giacenza scaduta" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "Consenti la vendita di stock scaduti" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "Numero di giorni in cui gli articoli in magazzino sono considerati obsoleti prima della scadenza" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "Abilita il controllo della proprietà sulle posizioni e gli oggetti in giacenza" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "Compila automaticamente i dettagli dell'utente dai dati dell'account SSO" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "Prezzo" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "Attivo" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "Token" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Carica file" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Abbina Campi" @@ -2816,298 +2869,301 @@ msgstr "Articoli importati" msgid "Previous Step" msgstr "Passaggio Precedente" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "Descrizione azienda" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "Descrizione dell'azienda" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "Sito Web" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "Sito web aziendale" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "Indirizzo" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "Indirizzo dell'azienda" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "Telefono" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "Numero di telefono di contatto" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "Indirizzo email" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "Contatto" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "Punto di contatto" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "Collegamento alle informazioni aziendali esterne" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "Immagine" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "è un cliente" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "Vendi oggetti a questa azienda?" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "è un fornitore" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "Acquistate articoli da questa azienda?" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "è un produttore" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "Valuta" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "Articolo di base" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "Seleziona articolo" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "Produttore" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "Seleziona Produttore" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "Codice articolo produttore (MPN)" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "Codice articolo produttore" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "Descrizione articolo costruttore" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "Codice articolo produttore" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "Nome parametro" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "Valore" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "Valore del parametro" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "Unità" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "Unità parametri" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "Fornitore" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "Selezionare un produttore" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "Descrizione articolo fornitore" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "Nota" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "costo base" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "Confezionamento" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "Imballaggio del pezzo" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "multiplo" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "Ordine multiplo" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "Disponibile" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "Codice valuta" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "Azienda" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "Modifica le informazioni dell'azienda" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "Modifica azienda" @@ -3162,14 +3218,14 @@ msgstr "Carica nuova immagine" msgid "Download image from URL" msgstr "Scarica immagine dall'URL" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "Cliente" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "Telefono" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "Carica immagine" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "Download Immagine" @@ -3203,7 +3259,7 @@ msgstr "Crea nuovo fornitore" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "Nuovo fornitore articolo" @@ -3232,7 +3288,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "" @@ -3246,7 +3302,7 @@ msgstr "Giacenza Fornitore" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "Elenco dei fornitori" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "Produttori" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "Articoli ordinati" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "Fornitori" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "Elimina articolo fornitore" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "Elimina" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parametri" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "Nuovo Parametro" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "Elimina il parametro" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "Aggiungi parametro" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "Articolo Fornitore" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "Modifica fornitore articolo" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "Crea nuova allocazione magazzino" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "Nuovo Elemento in giacenza" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "Ordini articoli fornitore" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "Informazioni Prezzi" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "Aggiungi riduzione prezzo" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "Nessuna informazione di riduzione di prezzo trovata" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "Elimina riduzione di prezzo" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "Modifica riduzione di prezzo" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "Cancella riduzione di prezzo" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "Magazzino" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "Prezzo articolo del fornitore" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "Prezzi" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "Articoli in magazzino" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "Descrizione ordine" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "Creato Da" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "Utente o gruppo responsabile di questo ordine" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "Note ordine" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "Riferimento ordine" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "Stato ordine d'acquisto" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "Riferimento fornitore" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "Codice di riferimento ordine fornitore" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "ricevuto da" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "Data di consegna programmata" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Data prevista per la consegna dell'ordine. L'ordine scadrà dopo questa data." -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "Data ordine completato" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "La destinazione deve essere specificata" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,15 +4185,16 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" -msgstr "Invia l'ordine" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" +msgstr "" #: order/templates/order/order_base.html:65 msgid "Receive items" msgstr "Ricevere articoli" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "Seleziona l'articolo del fornitore" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Elimina riga" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 -msgid "Incoming Purchase Order" +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "Codice Articolo" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" msgstr "" -#: part/api.py:536 -msgid "Outgoing Sales Order" +#: part/admin.py:21 +msgid "Part Description" msgstr "" -#: part/api.py:554 -msgid "Stock produced by Build Order" +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "IPN - Numero di riferimento interno" + +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "Revisione" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "Parole Chiave" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "Id Categoria" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" msgstr "" -#: part/api.py:640 -msgid "Stock required for Build Order" +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" msgstr "" -#: part/api.py:777 -msgid "Valid" +#: part/admin.py:31 +msgid "Default Supplier ID" msgstr "" -#: part/api.py:778 -msgid "Validate entire Bill of Materials" -msgstr "" +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "Scorta Minima" -#: part/api.py:784 -msgid "This option must be selected" -msgstr "" +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "In magazzino" -#: part/api.py:1207 -msgid "Must be greater than zero" -msgstr "" - -#: part/api.py:1211 -msgid "Must be a valid quantity" -msgstr "" - -#: part/api.py:1226 -msgid "Specify location for initial part stock" -msgstr "Specifica la posizione per lo stock iniziale" - -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 -msgid "This field is required" -msgstr "" - -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 -msgid "Default Location" -msgstr "Posizione Predefinita" - -#: part/bom.py:128 templates/email/low_stock_notification.html:17 -msgid "Total Stock" -msgstr "Giacenze Totali" - -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 -msgid "Available Stock" -msgstr "Disponibilità in magazzino" - -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "Ordinato" -#: part/forms.py:41 -msgid "Input quantity for price calculation" -msgstr "Digita la quantità per il calcolo del prezzo" - -#: part/models.py:99 -msgid "Default location for parts in this category" -msgstr "Posizione predefinita per gli articoli di questa categoria" - -#: part/models.py:102 -msgid "Default keywords" -msgstr "Keywords predefinite" - -#: part/models.py:102 -msgid "Default keywords for parts in this category" -msgstr "Parole chiave predefinite per gli articoli in questa categoria" - -#: part/models.py:107 stock/models.py:85 -msgid "Icon" +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" msgstr "" -#: part/models.py:108 stock/models.py:86 -msgid "Icon (optional)" +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 -#: part/templates/part/part_app_base.html:10 -msgid "Part Category" -msgstr "Categoria Articoli" +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 -#: users/models.py:37 -msgid "Part Categories" -msgstr "Categorie Articolo" +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "Percorso Categoria" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:134 #: part/templates/part/category.html:154 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Articoli" -#: part/models.py:429 +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 +msgid "Incoming Purchase Order" +msgstr "" + +#: part/api.py:552 +msgid "Outgoing Sales Order" +msgstr "" + +#: part/api.py:570 +msgid "Stock produced by Build Order" +msgstr "" + +#: part/api.py:656 +msgid "Stock required for Build Order" +msgstr "" + +#: part/api.py:814 +msgid "Valid" +msgstr "" + +#: part/api.py:815 +msgid "Validate entire Bill of Materials" +msgstr "" + +#: part/api.py:821 +msgid "This option must be selected" +msgstr "" + +#: part/api.py:1261 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:1265 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:1280 +msgid "Specify location for initial part stock" +msgstr "Specifica la posizione per lo stock iniziale" + +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 +msgid "This field is required" +msgstr "" + +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 +msgid "Default Location" +msgstr "Posizione Predefinita" + +#: part/bom.py:143 templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "Giacenze Totali" + +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 +msgid "Available Stock" +msgstr "Disponibilità in magazzino" + +#: part/forms.py:41 +msgid "Input quantity for price calculation" +msgstr "Digita la quantità per il calcolo del prezzo" + +#: part/models.py:117 +msgid "Default location for parts in this category" +msgstr "Posizione predefinita per gli articoli di questa categoria" + +#: part/models.py:120 +msgid "Default keywords" +msgstr "Keywords predefinite" + +#: part/models.py:120 +msgid "Default keywords for parts in this category" +msgstr "Parole chiave predefinite per gli articoli in questa categoria" + +#: part/models.py:125 stock/models.py:101 +msgid "Icon" +msgstr "" + +#: part/models.py:126 stock/models.py:102 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 +#: part/templates/part/part_app_base.html:10 +msgid "Part Category" +msgstr "Categoria Articoli" + +#: part/models.py:141 part/templates/part/category.html:129 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: users/models.py:37 +msgid "Part Categories" +msgstr "Categorie Articolo" + +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "Scelta non valida per l'articolo principale" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "È Template" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "Variante Di" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "Descrizione articolo" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "Parole Chiave" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "Categoria" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "IPN - Numero di riferimento interno" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "Revisione" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "Fornitore predefinito" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "Articolo fornitore predefinito" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:890 +#: part/models.py:909 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:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "Scorta Minima" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "Unità di conservazione delle scorte per quest'articolo" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "È una parte virtuale, come un prodotto software o una licenza?" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "Codice Articolo" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "Notifica di magazzino bassa" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "Elimina la categoria" msgid "Delete Category" msgstr "Cancella categoria" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "Percorso Categoria" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "Categoria articolo di livello superiore" @@ -5091,12 +5346,12 @@ msgstr "Articoli (incluse le sottocategorie)" msgid "Create new part" msgstr "Crea nuovo articolo" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "Nuovo articolo" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "Opzioni" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "Aggiorna" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "Assegnazione Ordine Di Vendita" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "Articoli correlati" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "Distinta base" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "Fornitori articoli" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "Componenti Produttori" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "Articoli correlati" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "Inattivo" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "In magazzino" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "Costo Totale" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "Data" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" +msgstr "Ultimo aggiornamento" + +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "Nessuna giacenza" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "Database sconosciuto" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "Seriale" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "ID Posizione" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "Installato In" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "Inventario" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "Data di Scadenza" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "Seleziona Owner" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "Articolo base" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Ubicazione magazzino" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "Installato In" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "Quantità disponibile" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "Data di Scadenza" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "Elimina al esaurimento" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "Ultimo aggiornamento" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "Ultimo Inventario" @@ -6783,11 +7051,6 @@ msgstr "Modifica la posizione" msgid "Delete location" msgstr "Elimina la posizione" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "Posizione stock di livello superiore" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "Impostazioni categoria" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "Vauta di base" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "Mai" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "Aggiorna Ora" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "Impostazioni Server" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "Impostazioni articolo" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "Aggiorna Ora" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "Mai" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "Vauta di base" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "Modifica Password" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "Modifica" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "Quantità richiesta" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "Quantità minima" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Chiudi" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "Formato" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "Modifica allocazione magazzino" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "Elimina posizione giacenza" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Seleziona Articoli" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "Specificare il quantitativo assegnato allo stock" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "Seleziona la posizione di origine (lascia vuoto per prendere da tutte le posizioni)" @@ -8535,11 +8814,11 @@ msgstr "Seleziona la posizione di origine (lascia vuoto per prendere da tutte le msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "Nessuna posizione di magazzino corrispondente" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "Aggiungi fornitore" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "Aggiungi fornitore articolo" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "Tutte gli articoli del fornitore selezionati saranno eliminati" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "Fornitori articoli" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "Elimina Parametri" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "Modifica parametro" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "Elimina il parametro" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "Modifica parametro" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "Elimina Parametri" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "Nessun fornitore trovato" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "Modifica articolo fornitore" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "Elimina articolo fornitore" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "Elimina riduzione di prezzo" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "Nessuna informazione di riduzione di prezzo trovata" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "Modifica riduzione di prezzo" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "Cancella riduzione di prezzo" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "Ricerca" msgid "Clear input" msgstr "Cancella input" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "SÌ" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "ID azienda" msgid "Stock ID" msgstr "ID Giacenza" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "ID Posizione" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "ID Ordine" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "Id Categoria" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "ID articolo produttore" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "Modifica ordine d'acquisto" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "Quantità da ricevere" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "Stato giacenza" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "Codice ordine" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "Ordinato" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "Totale" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "Prezzo Unitario" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "Prezzo Totale" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "Cliente non valido" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "Conferma l'assegnazione della giacenza" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "Nessun ordine di vendita trovato" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "Modifica posizione giacenza" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "Conferma Operazione Eliminazione" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "Elimina posizione giacenza" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "Spedito al cliente" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "Nessun posizione specificata" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "Prezzo d'acquisto" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "Calcola il prezzo" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "Attributi Articolo" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "Opzioni Fornitore" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "Aggiungi Categoria Articolo" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "Crea giacenza iniziale" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "Crea una giacenza iniziale per quest'articolo" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "Selezione la posizione di destinazione della giacenza" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "Aggiungi Dati Fornitore" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "Copia immagine" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "Copia parametri" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "Categoria articolo principale" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "Modifica Categoria Articoli" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "Elimina categoria" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "Modifica l'articolo" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "Articolo modificato" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "Convalida la distinta dei materiali" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "In esaurimento" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "Parte tracciabile" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "Parte virtuale" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "Parte sottoscritta" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "Parte vendibile" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "Nessuna variante trovata" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "Elimina relazione tra i componenti" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "Nessun articolo trovato" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "Nessuna categoria" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "Visualizza come elenco" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "Visualizza come griglia" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "Imposta categoria articolo" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "Visualizza come struttura ad albero" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "Categoria sottoscritta" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "Nessun modello di test corrispondente" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "Modificare il risultato del test" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "Cancellare il risultato del test" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "Modifica ${human_name}" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "Elimina ${human_name}" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "Prezzo Singolo" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "Il Plugin è stato installato" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "Modifica ${human_name}" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "Elimina ${human_name}" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "elementi selezionati" @@ -9855,364 +10177,364 @@ msgstr "Nuova posizione giacenza" msgid "Are you sure you want to delete this stock location?" msgstr "Sei sicuro di voler eliminare questa posizione?" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "Elimina Posizione di Giacenza" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "Inserisci quantità iniziale per questo articolo in giacenza" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Inserire i numeri di serie per la nuova giacenza (o lasciare vuoto)" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "Crea nuova allocazione magazzino" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "Creato più elementi stock" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "Trasferisci giacenza" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "Sposta" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "Conta giacenza" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "Conta" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "Rimuovi giacenza" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "Prendi" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "Aggiungi giacenza" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "Aggiungi" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "Elimina Stock" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "Specificare la quantità di magazzino" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "Devi selezionare almeno un articolo disponibile" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "NESSUN RISULTATO" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "Aggiungi risultato test" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "Nessun risultato di prova trovato" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "In produzione" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "Installato nell'elemento stock" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "Assegnato all'ordine di vendita" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "Nessuna giacenza impostata" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "L'articolo di magazzino è in produzione" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "Articolo stock assegnato al cliente" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "L'elemento stock è stato installato in un altro articolo" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "L'articolo stock è scaduto" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "Articolo in giacenza prossimo alla scadenza" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "L'articolo stock è stato rifiutato" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "Esaurito" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "Inventario" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "La posizione non esiste più" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "Aggiunto" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "Rimosso" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "Convalidato" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "Includi sottoallocazioni/posizioni" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "Includi posizioni" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "Includi sottocategorie" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "Sottoscritto" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "Codice Lotto" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "Elementi attivi" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "L'elemento è stato posizionato" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "Includi elementi in giacenza nelle sottoallocazioni" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "Mostra gli elementi che sono in giacenza" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "In Produzione" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "Mostra gli elementi in produzione" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "Includi Varianti" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "Includi gli articoli stock per le varianti degli articoli" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "Installato" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "Mostra gli elementi stock che sono installati in un altro elemento" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "Mostra elementi che sono stati assegnati a un cliente" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "Stato magazzino" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "Ha il prezzo d'acquisto" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "Mostra gli articoli di magazzino che hanno un prezzo di acquisto impostato" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "Mostra gli elementi in giacenza scaduti" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "Mostra giacenza prossima alla scadenza" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "Stato Build" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "Stato dell'ordine" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "In Sospeso" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "Includi articoli nelle sottocategorie" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "Visualizza articoli attivi" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "Ha IPN" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "L'articolo possiede un part number interno" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "Acquistabile" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "Dati QR non forniti" @@ -10738,35 +11069,35 @@ msgstr "Permessi" msgid "Important dates" msgstr "Date Importanti" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "Impostazione autorizzazioni" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "Gruppo" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "Visualizza" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "Autorizzazione a visualizzare gli articoli" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "Autorizzazione ad aggiungere elementi" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "Modificare" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "Permessi per modificare gli elementi" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "Autorizzazione ad eliminare gli elementi" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 9267bb7f61..265a7b0e51 100644 --- a/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:02\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:51\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "APIエンドポイントが見つかりません" @@ -25,27 +25,27 @@ msgstr "APIエンドポイントが見つかりません" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "日付を入力する" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "メモ" @@ -122,43 +122,43 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "数量コードが無効です" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "シリアル番号は空です" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "シリアル番号が見つかりません" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "" @@ -194,7 +194,7 @@ msgstr "ファイルがありません" msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "添付ファイル" msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "リンク" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "外部 サイト へのリンク" @@ -228,12 +229,12 @@ msgstr "コメント:" msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "ユーザー" @@ -270,44 +271,45 @@ msgstr "ファイル名の変更に失敗しました" msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "お名前" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "説明" @@ -320,7 +322,7 @@ msgid "parent" msgstr "親" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "" @@ -352,187 +354,187 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "ファイル名" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "無効な値です。" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "データファイル" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "アップロードするファイルを選択" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "サポートされていないファイル形式" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "ファイルサイズが大きすぎます" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "ファイルに列が見つかりません" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "ファイルにデータ行がみつかりません" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "データが入力されていません" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "データ列が指定されていません" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "必須の列がありません: {name}" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "{col} 列が重複しています。" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "ドイツ語" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "ギリシャ語" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "英語" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "スペイン語" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "スペイン語(メキシコ)" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "フランス語" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "ヘブライ語" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "ハンガリー語" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "イタリア語" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "日本語" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "韓国語" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "オランダ語" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "ノルウェー語" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "ポーランド語" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "ロシア語" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "スウェーデン語" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "タイ語" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "トルコ語" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "ベトナム語" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "中国語" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "バックグラウンドワーカーのチェックに失敗しました" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "メールアドレスが未設定です" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "InvenTree システムのヘルスチェックに失敗しました" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "処理待ち" @@ -561,8 +563,8 @@ msgstr "紛失" msgid "Returned" msgstr "返品済" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "発送済み" @@ -646,7 +648,7 @@ msgstr "親アイテムから分割する" msgid "Split child item" msgstr "子項目を分割" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "商品在庫をマージしました" @@ -654,7 +656,7 @@ msgstr "商品在庫をマージしました" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "顧客に送信されました" @@ -746,7 +748,7 @@ msgstr "" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "パーツ" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "" @@ -874,8 +877,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "" @@ -883,12 +886,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "作成日時" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "" @@ -896,7 +899,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "" @@ -929,7 +932,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "" @@ -968,11 +971,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -994,18 +997,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "パーツを割り当てるためにビルドする" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "在庫商品" @@ -1015,12 +1018,10 @@ msgstr "" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "数量" @@ -1087,10 +1092,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1102,9 +1107,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "" @@ -1120,7 +1125,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "ステータス" @@ -1213,7 +1219,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "" @@ -1229,8 +1235,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "" @@ -1246,11 +1252,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1267,7 +1273,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "" @@ -1401,29 +1407,29 @@ msgstr "" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "" @@ -1449,8 +1455,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "" @@ -1462,14 +1468,14 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "" @@ -1527,7 +1533,7 @@ msgstr "注文必須パーツ" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "パーツの注文" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1617,7 +1623,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" @@ -1902,9 +1908,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "テンプレート" @@ -1912,9 +1918,10 @@ msgstr "テンプレート" msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "アセンブリ" @@ -1922,8 +1929,8 @@ msgstr "アセンブリ" msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "コンポーネント" @@ -1931,7 +1938,7 @@ msgstr "コンポーネント" msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "購入可能" @@ -1939,8 +1946,8 @@ msgstr "購入可能" msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "" @@ -1948,10 +1955,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "追跡可能" @@ -1959,10 +1966,10 @@ msgstr "追跡可能" msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "デバッグモード" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "デバッグモード" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2816,298 +2869,301 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "メーカー・パーツ" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "" @@ -3162,14 +3218,14 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "" @@ -3203,7 +3259,7 @@ msgstr "新しいサプライヤー・パーツを作成" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "新しいサプライヤー・パーツ" @@ -3232,7 +3288,7 @@ msgstr "メーカー・パーツ" msgid "Create new manufacturer part" msgstr "新しいメーカー・パーツを作成" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "新しいメーカ―・パーツ" @@ -3246,7 +3302,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "パーツの注文" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "メーカー・パーツの編集" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "メーカー・パーツを削除" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "購入金額" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,7 +4185,8 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" msgstr "" #: order/templates/order/order_base.html:65 @@ -4162,7 +4194,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "" + +#: part/admin.py:21 +msgid "Part Description" +msgstr "" + +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "" + +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" + +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" + +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" + +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "" + +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "" + +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 +#: templates/js/translated/table_filters.js:68 +msgid "On Order" +msgstr "" + +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "" + +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "" + +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "" + +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" + +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:23 part/templates/part/category.html:134 +#: part/templates/part/category.html:154 +#: part/templates/part/category_sidebar.html:9 +#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 +#: templates/InvenTree/settings/sidebar.html:41 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 +#: templates/navbar.html:24 users/models.py:38 +msgid "Parts" +msgstr "パーツ" + +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:536 +#: part/api.py:552 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:554 +#: part/api.py:570 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:640 +#: part/api.py:656 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:777 +#: part/api.py:814 msgid "Valid" msgstr "" -#: part/api.py:778 +#: part/api.py:815 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:784 +#: part/api.py:821 msgid "This option must be selected" msgstr "" -#: part/api.py:1207 +#: part/api.py:1261 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1211 +#: part/api.py:1265 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1226 +#: part/api.py:1280 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 msgid "This field is required" msgstr "" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 msgid "Default Location" msgstr "" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 +#: part/bom.py:143 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 msgid "Available Stock" msgstr "" -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 -#: templates/js/translated/table_filters.js:68 -msgid "On Order" -msgstr "" - #: part/forms.py:41 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:99 +#: part/models.py:117 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:85 +#: part/models.py:125 stock/models.py:101 msgid "Icon" msgstr "" -#: part/models.py:108 stock/models.py:86 +#: part/models.py:126 stock/models.py:102 msgid "Icon (optional)" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 +#: part/models.py:141 part/templates/part/category.html:129 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 -#: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 -#: templates/navbar.html:24 users/models.py:38 -msgid "Parts" -msgstr "パーツ" - -#: part/models.py:429 +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "カテゴリ" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "" msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "新規パーツ" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "在庫切れ" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "期限切れ" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "" msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "メーカー・パーツの編集" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -10738,35 +11069,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index f5a1d47a1e..cdcf1b6a8c 100644 --- a/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:02\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:51\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "" @@ -25,27 +25,27 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "" @@ -122,43 +122,43 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "" @@ -194,7 +194,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "첨부파일" msgid "Select file to attach" msgstr "첨부할 파일을 선택하세요" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "링크" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "외부 URL로 링크" @@ -228,12 +229,12 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "사용자" @@ -270,44 +271,45 @@ msgstr "파일 이름 바꾸기 오류" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "이름" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "설명" @@ -320,7 +322,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "바코드 해시" @@ -352,187 +354,187 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "유효한 숫자여야 합니다" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "파일명" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "파일이 너무 큽니다" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "체코어" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "독일어" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "그리스어" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "영어" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "스페인어" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "스페인어 (멕시코)" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "파르시어/페르시아어" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "프랑스어" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "히브리어" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "헝가리어" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "이탈리아어" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "일본어" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "한국어" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "네덜란드어" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "노르웨이어" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "폴란드어" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "러시아어" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "스웨덴어" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "태국어" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "터키어" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "베트남어" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "중국어" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "" @@ -561,8 +563,8 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "" @@ -646,7 +648,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "" @@ -654,7 +656,7 @@ msgstr "" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "" @@ -746,7 +748,7 @@ msgstr "" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "" @@ -874,8 +877,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "" @@ -883,12 +886,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "" @@ -896,7 +899,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "" @@ -929,7 +932,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "외부 링크" @@ -968,11 +971,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -994,18 +997,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "" @@ -1015,12 +1018,10 @@ msgstr "" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "수량" @@ -1087,10 +1092,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" @@ -1102,9 +1107,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "일련번호" @@ -1120,7 +1125,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "위치" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "상태" @@ -1213,7 +1219,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "" @@ -1229,8 +1235,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "" @@ -1246,11 +1252,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1267,7 +1273,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "" @@ -1401,29 +1407,29 @@ msgstr "" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "" @@ -1449,8 +1455,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "" @@ -1462,14 +1468,14 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "" @@ -1527,7 +1533,7 @@ msgstr "" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1617,7 +1623,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "회사명" @@ -1902,9 +1908,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "" @@ -1912,9 +1918,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "" @@ -1922,8 +1929,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "" @@ -1931,7 +1938,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "구입 가능" @@ -1939,8 +1946,8 @@ msgstr "구입 가능" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "판매 가능" @@ -1948,10 +1955,10 @@ msgstr "판매 가능" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "" @@ -1959,10 +1966,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "디버그 모드" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "페이지 크기" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "PDF 보고서 기본 페이지 크기" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "디버그 모드" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "페이지 크기" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "PDF 보고서 기본 페이지 크기" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "SSO 활성화" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "로그인 페이지에서 SSO 활성화" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "이메일 필요" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "두 번 보내기" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "작성자" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "파일 업로드" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2816,298 +2869,301 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "회사 소개" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "웹사이트" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "회사 웹사이트 URL" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "주소" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "회사 주소" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "전화번호" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "이메일" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "이미지" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "회사" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "회사 정보 수정" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "회사 수정" @@ -3162,14 +3218,14 @@ msgstr "새 이미지 업로드" msgid "Download image from URL" msgstr "URL에서 이미지 다운로드" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "고객" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "전화번호" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "이미지 업로드" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "이미지 다운로드" @@ -3203,7 +3259,7 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "" @@ -3232,7 +3288,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "" @@ -3246,7 +3302,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "삭제" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "이미 사용 중인 바코드입니다" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,7 +4185,8 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" msgstr "" #: order/templates/order/order_base.html:65 @@ -4162,7 +4194,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "" + +#: part/admin.py:21 +msgid "Part Description" +msgstr "" + +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "" + +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" + +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" + +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" + +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "" + +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "" + +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 +#: templates/js/translated/table_filters.js:68 +msgid "On Order" +msgstr "" + +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "" + +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "" + +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "" + +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" + +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:23 part/templates/part/category.html:134 +#: part/templates/part/category.html:154 +#: part/templates/part/category_sidebar.html:9 +#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 +#: templates/InvenTree/settings/sidebar.html:41 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 +#: templates/navbar.html:24 users/models.py:38 +msgid "Parts" +msgstr "" + +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:536 +#: part/api.py:552 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:554 +#: part/api.py:570 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:640 +#: part/api.py:656 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:777 +#: part/api.py:814 msgid "Valid" msgstr "" -#: part/api.py:778 +#: part/api.py:815 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:784 +#: part/api.py:821 msgid "This option must be selected" msgstr "" -#: part/api.py:1207 +#: part/api.py:1261 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1211 +#: part/api.py:1265 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1226 +#: part/api.py:1280 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 msgid "This field is required" msgstr "" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 msgid "Default Location" msgstr "" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 +#: part/bom.py:143 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 msgid "Available Stock" msgstr "" -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 -#: templates/js/translated/table_filters.js:68 -msgid "On Order" -msgstr "" - #: part/forms.py:41 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:99 +#: part/models.py:117 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:85 +#: part/models.py:125 stock/models.py:101 msgid "Icon" msgstr "" -#: part/models.py:108 stock/models.py:86 +#: part/models.py:126 stock/models.py:102 msgid "Icon (optional)" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 +#: part/models.py:141 part/templates/part/category.html:129 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 -#: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 -#: templates/navbar.html:24 users/models.py:38 -msgid "Parts" -msgstr "" - -#: part/models.py:429 +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "데이터" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "" msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "부품 명세서" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "일련번호 검색" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "일련번호" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "일련번호가 이미 존재합니다" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "" msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "지금 업데이트" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "서버 설정" @@ -7090,15 +7337,15 @@ msgstr "새 탭에서 열기" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "작성자" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "지금 업데이트" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "비밀번호 변경" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "선택" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "예" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "아니오" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "단가" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "이미지 복사" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "부품 명세서 복사" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "일련번호 찾기" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "일련번호를 입력하세요" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "일련번호를 입력하세요" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "일치하는 일련번호가 없습니다" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "일련번호" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -10738,35 +11069,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index ff5c069957..074f3819ad 100644 --- a/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:02\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:51\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "API eindpunt niet gevonden" @@ -25,27 +25,27 @@ msgstr "API eindpunt niet gevonden" msgid "Error details can be found in the admin panel" msgstr "Error details kunnen worden gevonden in het admin scherm" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "Voer datum in" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "Opmerkingen" @@ -122,43 +122,43 @@ msgstr "Externe server heeft lege reactie teruggegeven" msgid "Supplied URL is not a valid image file" msgstr "Opgegeven URL is geen geldig afbeeldingsbestand" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "Leeg serienummer" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Ongeldig groepsbereik: {g}" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Ongeldig groepsbereik: {g}" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "Geen serienummers gevonden" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Hoeveelheid van unieke serienummers ({s}) moet overeenkomen met de hoeveelheid ({q})" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "" @@ -194,7 +194,7 @@ msgstr "Ontbrekend bestand" msgid "Missing external link" msgstr "Externe link ontbreekt" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "Bijlage" msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "Link" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "Link naar externe URL" @@ -228,12 +229,12 @@ msgstr "Opmerking" msgid "File comment" msgstr "Bestand opmerking" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "Gebruiker" @@ -270,44 +271,45 @@ msgstr "Fout bij hernoemen bestand" msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "Naam" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "Omschrijving" @@ -320,7 +322,7 @@ msgid "parent" msgstr "bovenliggende" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "Pad" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "Hash van Streepjescode" @@ -352,187 +354,187 @@ msgstr "Serverfout" msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "Bestandsnaam" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "Ongeldige waarde" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "Data bestand" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "Selecteer een bestand om te uploaden" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "Niet ondersteund bestandstype" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "Bestand is te groot" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "Geen kolommen gevonden in het bestand" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "Geen data rijen gevonden in dit bestand" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "Geen data rijen opgegeven" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "Geen gegevenskolommen opgegeven" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Verplichte kolom ontbreekt: '{name}'" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dubbele kolom: '{col}'" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "URL van extern afbeeldingsbestand" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "Tsjechisch" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "Duits" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "Grieks" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "Engels" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "Spaans" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "Spaans (Mexicaans)" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "Farsi / Perzisch" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "Frans" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "Hebreeuws" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "Hongaars" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "Italiaans" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "Japans" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "Koreaans" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "Nederlands" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "Noors" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "Pools" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "Portugees" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "Portugees (Braziliaans)" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "Zweeds" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "Thais" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "Turks" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "Vietnamees" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "Chinees" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "Achtergrondwerker check is gefaald" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "E-mailbackend niet geconfigureerd" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "InvenTree gezondsheidschecks mislukt" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "Bezig" @@ -561,8 +563,8 @@ msgstr "Kwijt" msgid "Returned" msgstr "Retour" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "Verzonden" @@ -646,7 +648,7 @@ msgstr "Splits van bovenliggend item" msgid "Split child item" msgstr "Splits onderliggende item" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "Samengevoegde voorraadartikelen" @@ -654,7 +656,7 @@ msgstr "Samengevoegde voorraadartikelen" msgid "Converted to variant" msgstr "Geconverteerd naar variant" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "Naar klant verzonden" @@ -746,7 +748,7 @@ msgstr "Productieorder" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "Productieorders" msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "Referentie" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "Productieorder waar deze productie aan is toegewezen" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "Onderdeel" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waar deze productie aan is toegewezen" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "Bronlocatie" @@ -874,8 +877,8 @@ msgstr "Productiestatus" msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "Batchcode" @@ -883,12 +886,12 @@ msgstr "Batchcode" msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "Aanmaakdatum" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "Verwachte opleveringsdatum" @@ -896,7 +899,7 @@ msgstr "Verwachte opleveringsdatum" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Doeldatum voor productie voltooiing. Productie zal achterstallig zijn na deze datum." -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "Opleveringsdatum" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "Verantwoordelijke" @@ -929,7 +932,7 @@ msgstr "Gebruiker verantwoordelijk voor deze productieorder" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "Externe Link" @@ -968,11 +971,11 @@ msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofd 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:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" @@ -994,18 +997,18 @@ msgstr "Product" msgid "Build to allocate parts" msgstr "Product om onderdelen toe te wijzen" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "Voorraadartikel" @@ -1015,12 +1018,10 @@ msgstr "Bron voorraadartikel" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "Bron voorraadartikel" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "Hoeveelheid" @@ -1087,10 +1092,10 @@ msgstr "Deze productieuitvoer is niet volledig toegewezen" msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor productie uitvoer" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" @@ -1102,9 +1107,9 @@ msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" 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:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "Serienummers" @@ -1120,7 +1125,7 @@ msgstr "Serienummers automatisch toewijzen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "Locatie" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "Status" @@ -1213,7 +1219,7 @@ msgstr "Accepteer dat voorraadartikelen niet volledig zijn toegewezen aan deze p msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" @@ -1229,8 +1235,8 @@ msgstr "Vereiste productiehoeveelheid is voltooid" msgid "Build order has incomplete outputs" msgstr "Productieorder heeft onvolledige uitvoeren" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "Stuklijstartikel" @@ -1246,11 +1252,11 @@ msgstr "Productieuitvoer moet naar dezelfde productie wijzen" 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:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" @@ -1267,7 +1273,7 @@ msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van n msgid "This stock item has already been allocated to this build output" msgstr "Dit voorraadartikel is al toegewezen aan deze productieoutput" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "Allocaties voor artikelen moeten worden opgegeven" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Voorraad is niet volledig toegewezen aan deze productieorder" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "Streefdatum" @@ -1401,29 +1407,29 @@ msgstr "Deze productie was verwacht op %(target)s" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "Achterstallig" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "Voltooid" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "Verkooporder" @@ -1449,8 +1455,8 @@ msgstr "Voorraadbron" msgid "Stock can be taken from any available location." msgstr "Voorraad kan worden genomen van elke beschikbare locatie." -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "Bestemming" @@ -1462,14 +1468,14 @@ msgstr "Bestemmingslocatie niet opgegeven" msgid "Allocated Parts" msgstr "Toegewezen Onderdelen" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "Batch" @@ -1527,7 +1533,7 @@ msgstr "Vereiste onderdelen bestellen" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "Onderdelen bestellen" @@ -1597,10 +1603,10 @@ msgstr "Voltooide Productieuitvoeren" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Bijlagen" @@ -1617,7 +1623,7 @@ msgstr "Toewijzing Voltooid" msgid "All untracked stock items have been allocated" msgstr "Alle niet gevolgde voorraadartikelen zijn toegewezen" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "Nieuwe Productieorder" @@ -1734,7 +1740,7 @@ msgstr "Tonen `over` beperken" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Bedrijfsnaam" @@ -1902,9 +1908,9 @@ 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/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "Sjabloon" @@ -1912,9 +1918,10 @@ msgstr "Sjabloon" msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "Samenstelling" @@ -1922,8 +1929,8 @@ msgstr "Samenstelling" msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "Component" @@ -1931,7 +1938,7 @@ msgstr "Component" msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "Koopbaar" @@ -1939,8 +1946,8 @@ msgstr "Koopbaar" msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "Verkoopbaar" @@ -1948,10 +1955,10 @@ msgstr "Verkoopbaar" msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "Volgbaar" @@ -1959,10 +1966,10 @@ msgstr "Volgbaar" msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "Virtueel" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "Toon de importwizard in sommige onderdelenweergaven" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "Toon Prijs in Formulieren" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "Toon onderdeelprijs in sommige formulieren" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "Prijs in Stuklijst Weergeven" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "Prijsinformatie in Stuklijsttabellen opnemen" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "Toon Prijsgeschiedenis" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "Toon historische prijzen voor Onderdeel" - -#: common/models.py:1089 msgid "Show related parts" msgstr "Verwante onderdelen tonen" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "Verwante onderdelen voor een onderdeel tonen" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "Eerste voorraad aanmaken" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "Aanmaken eerste voorraad bij het maken van onderdeel" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "Interne Prijzen" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "Inschakelen van interne prijzen voor onderdelen" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "Interne Prijs als Stuklijst Prijs" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "Gebruik de interne prijs (indien ingesteld) in stuklijst prijsberekeningen" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "Onderdelennaam Weergaveopmaak" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "Opmaak om de onderdeelnaam weer te geven" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" -msgstr "Printen van labels Inschakelen" - -#: common/models.py:1132 -msgid "Enable label printing from the web interface" -msgstr "Printen van labels via de webinterface inschakelen" - -#: common/models.py:1138 -msgid "Label Image DPI" -msgstr "Label Afbeelding DPI" - -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" -msgstr "DPI resolutie bij het genereren van afbeelginsbestanden voor label printer plugins" - -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "Activeer Rapportages" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "Activeer het genereren van rapporten" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "Foutopsporingsmodus" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "Rapporten genereren in debug modus (HTML uitvoer)" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "Paginagrootte" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "Standaard paginagrootte voor PDF rapporten" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "Activeer Testrapporten" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "Activeer het genereren van testrapporten" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "Testrapporten Toevoegen" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "Bij het afdrukken van een Testrapport, voeg een kopie van het Testrapport toe aan het bijbehorende Voorraadartikel" - -#: common/models.py:1187 -msgid "Globally Unique Serials" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "Batchcode Sjabloon" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" +msgstr "" -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" +msgstr "" -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "Verlopen Voorraad" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "Verlopen voorraad functionaliteit inschakelen" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "Verkoop Verlopen Voorraad" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "Verkoop verlopen voorraad toestaan" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "Voorraad Vervaltijd" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "Aantal dagen voordat voorraadartikelen als verouderd worden beschouwd voor ze verlopen" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "dagen" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "Interne Prijzen" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "Inschakelen van interne prijzen voor onderdelen" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "Printen van labels Inschakelen" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "Printen van labels via de webinterface inschakelen" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "Label Afbeelding DPI" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "DPI resolutie bij het genereren van afbeelginsbestanden voor label printer plugins" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "Activeer Rapportages" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "Activeer het genereren van rapporten" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "Foutopsporingsmodus" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "Rapporten genereren in debug modus (HTML uitvoer)" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "Paginagrootte" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "Standaard paginagrootte voor PDF rapporten" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "Activeer Testrapporten" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "Activeer het genereren van testrapporten" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "Testrapporten Toevoegen" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "Bij het afdrukken van een Testrapport, voeg een kopie van het Testrapport toe aan het bijbehorende Voorraadartikel" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "Batchcode Sjabloon" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "Verlopen Voorraad" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "Verlopen voorraad functionaliteit inschakelen" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "Verkoop Verlopen Voorraad" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "Verkoop verlopen voorraad toestaan" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "Voorraad Vervaltijd" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "Aantal dagen voordat voorraadartikelen als verouderd worden beschouwd voor ze verlopen" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "Produceer Verlopen Voorraad" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "Sta productie met verlopen voorraad toe" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "Voorraad Eigenaar Toezicht" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "Productieorderreferentiepatroon" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "Verkooporderreferentiepatroon" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "Standaard Verzending Verkooporder" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "Aanmaken standaard verzending bij verkooporders inschakelen" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "Inkooporderreferentiepatroon" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "Wachtwoord vergeten functie inschakelen" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "Registratie inschakelen" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "SSO inschakelen" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "SSO inschakelen op de inlogpagina's" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "E-mailadres verplicht" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "E-mail twee keer" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "Groep bij aanmelding" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "Groep waaraan nieuwe gebruikers worden toegewezen bij registratie" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "MFA afdwingen" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "Gebruikers moeten multifactor-beveiliging gebruiken." -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "Controleer plugins bij het opstarten" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "Activeer URL-integratie" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "Toon laatste onderdelen" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "Recente Voorraadtelling" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "Toon recente voorraadwijzigingen" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "Toon recent aangepaste voorraadartikelen op de startpagina" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "Recente Voorraadtelling" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "Toon lage voorraad" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "Toon lage voorraad van artikelen op de startpagina" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "Toon lege voorraad" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "Toon lege voorraad van artikelen op de startpagina" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "Toon benodigde voorraad" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "Toon verlopen voorraad" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "Toon verlopen voorraad van artikelen op de startpagina" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "Toon verouderde voorraad" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "Toon verouderde voorraad van artikelen op de startpagina" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "Toon openstaande producties" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "Toon openstaande producties op de startpagina" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "Toon achterstallige productie" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "Toon achterstallige producties op de startpagina" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "Toon uitstaande PO's" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "Toon uitstaande PO's op de startpagina" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "Toon achterstallige PO's" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "Toon achterstallige PO's op de startpagina" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "Toon uitstaande SO's" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "Toon uitstaande SO's op de startpagina" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "Toon achterstallige SO's" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "Toon achterstallige SO's op de startpagina" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "Zoek Onderdelen" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "Zoek in Voorraad" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "Inkooporders Zoeken" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "Toon inkooporders in het zoekvenster" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "Inactieve Inkooporders Weglaten" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inactieve inkooporders weglaten in het zoekvenster" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "Verkooporders zoeken" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "Toon verkooporders in het zoekvenster" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "Inactieve Verkooporders Weglaten" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "Prijs" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "Actief" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "Token" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "Geheim" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "Host" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "Koptekst" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "Artikelen zijn ontvangen tegen een inkooporder" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Upload Bestand" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Vergelijk Velden" @@ -2816,298 +2869,301 @@ msgstr "" msgid "Previous Step" msgstr "Vorige Stap" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "Website" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "URL bedrijfswebsite" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "Adres" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "Bedrijfsadres" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "Telefoonnummer" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "Telefoonnummer voor contact" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "Email" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "Contact e-mailadres" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "Contact" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "Contactpunt" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "Link naar externe bedrijfsinformatie" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "Afbeelding" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "Opmerkingen Bedrijf" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "is klant" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "is leverancier" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "is fabrikant" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "Fabriceert dit bedrijf onderdelen?" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "Valuta" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "Basis onderdeel" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "Onderdeel selecteren" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "Fabrikant" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "Fabrikant selecteren" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "MPN" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "Fabrikant artikel nummer (MPN)" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "URL voor externe link van het fabrikant onderdeel" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "Omschrijving onderdeel fabrikant" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "Fabrikant onderdeel" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "Parameternaam" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "Waarde" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "Parameterwaarde" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "Eenheden" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "Parameter eenheden" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "Leverancier" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "SKU" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "Selecteer fabrikant onderdeel" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "Opmerking" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "basisprijs" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "meerdere" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "Order meerdere" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "Beschikbaar" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "laatst bijgewerkt" @@ -3121,7 +3177,7 @@ msgstr "Valutacode" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "Bedrijf" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "Bedrijfsinformatie bewerken" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "Bedrijf bewerken" @@ -3162,14 +3218,14 @@ msgstr "Nieuwe afbeelding uploaden" msgid "Download image from URL" msgstr "Afbeelding downloaden van URL" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "Klant" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "Telefoon" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "Afbeelding Uploaden" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "Afbeelding Downloaden" @@ -3203,7 +3259,7 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "" @@ -3232,7 +3288,7 @@ msgstr "Fabrikant onderdelen" msgid "Create new manufacturer part" msgstr "Maak nieuw fabrikant onderdeel" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "Nieuw fabrikant onderdeel" @@ -3246,7 +3302,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "Nieuwe Inkooporder" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "Leverancierslijst" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "Fabrikanten" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "Order onderdeel" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "Fabrikant onderdeel bewerken" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "Fabrikant onderdeel verwijderen" @@ -3329,35 +3384,36 @@ msgstr "Geen fabrikanten informatie beschikbaar" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "Leveranciers" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "Verwijder leveranciersonderdelen" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "Verwijderen" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parameters" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "Nieuwe Parameter" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "Parameter verwijderen" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "Parameter toevoegen" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "Toegewezen Voorraadartikelen" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "Leveranciersonderdeel" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "Nieuw voorraadartikel aanmaken" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "Nieuw Voorraadartikel" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "Leverancier Onderdelenorders" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "Prijsinformatie" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "Laatst bijgewerkt" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "Voorraad" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "Prijzen" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "Voorraadartikelen" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "Order beschrijving" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "Link naar externe pagina" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "Aangemaakt Door" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "Gebruiker of groep verantwoordelijk voor deze order" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "Ordernotities" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "Orderreferentie" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "Inkooporder status" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "Bedrijf waar de artikelen van worden besteld" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "Leveranciersreferentie" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "Order referentiecode van leverancier" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "ontvangen door" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "Datum van uitgifte" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "Order uitgegeven op datum" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "Streefdatum Levering" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Verwachte datum voor levering van de bestelling. De bestelling wordt achterstallig na deze datum." -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "Order voltooid op datum" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "Hoeveelheid moet een positief getal zijn" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "Bedrijf waaraan de artikelen worden verkocht" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "Klantreferentie " -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "Klant order referentiecode" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "Streefdatum voor voltooien order. De order is na deze datum achterstallig." -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "Verzenddatum" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "verzonden door" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "Order kan niet worden voltooid omdat er geen onderdelen aangewezen zijn" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "Alleen orders in afwachting kunnen als voltooid worden gemarkeerd" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 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:738 +#: order/models.py:757 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:912 +#: order/models.py:935 msgid "Item quantity" msgstr "Hoeveelheid artikelen" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "Artikelregel referentie" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "Artikel notities" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "Verwachte verzenddatum van het artikel" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "Context" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "Additionele context voor deze regel" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "Stukprijs" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "Leveranciersonderdeel moet overeenkomen met leverancier" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "verwijderd" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "Order" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "Inkooporder" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "Leveranciersonderdeel" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "Ontvangen" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "Inkoopprijs" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "Aankoopprijs per stuk" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "Verkoopprijs" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "Prijs per stuk" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "Gecontroleerd door" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "Zending" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "Zendingsnummer" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "Zendingnotities" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "Volgnummer" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "Zending volginformatie" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "Factuurnummer" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "Referentienummer voor bijbehorende factuur" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "Verzending is al verzonden" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "Voorraadartikel is niet toegewezen" -#: order/models.py:1384 +#: order/models.py:1407 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:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "Regel" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "Artikel" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "Selecteer voorraadartikel om toe te wijzen" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "Voer voorraadtoewijzingshoeveelheid in" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "Prijs valuta" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "Order kan niet worden geannuleerd" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "Order is niet open" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "Valuta Inkoopprijs" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "Leveranciersonderdeel moet worden gespecificeerd" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "Inkooporder moet worden gespecificeerd" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "De leverancier moet overeenkomen met de inkooporder" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "Inkooporder moet overeenkomen met de leverancier" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "Artikel" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "Artikelregel komt niet overeen met inkooporder" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "Voer serienummers in voor inkomende voorraadartikelen" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "Uniek identificatieveld" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "Streepjescode is al in gebruik" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "Artikelen moeten worden opgegeven" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "Bestemmingslocatie moet worden opgegeven" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "Geleverde streepjescodewaarden moeten uniek zijn" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "Valuta verkoopprijs" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "Geen verzenddetails opgegeven" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "Artikelregel is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "Hoeveelheid moet positief zijn" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "Voer serienummers in om toe te wijzen" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "Verzending is al verzonden" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "Zending is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "Geen overeenkomst gevonden voor de volgende serienummers" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "De volgende serienummers zijn al toegewezen" @@ -4154,15 +4185,16 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" -msgstr "Order plaatsen" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" +msgstr "" #: order/templates/order/order_base.html:65 msgid "Receive items" msgstr "Ontvang artikelen" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "Ontvang Artikelen" @@ -4248,9 +4280,9 @@ msgstr "Selecteer Leveranciersonderdeel" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Rij verwijderen" @@ -4278,42 +4310,42 @@ msgstr "Artikelen" msgid "Received Stock" msgstr "Ontvangen Voorraadartikelen" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "Inkooporder Artikelen" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "Artikel toevoegen" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "Geselecteerde artikelen ontvangen" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "Extra Regels" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "Extra Regel Toevoegen" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "Ontvangen Artikelen" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "Ordernotities" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "Voeg Orderregel toe" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "Deze Verkooporder is niet volledig toegewezen" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "Klantreferentie" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Voltooide Verzendingen" @@ -4359,22 +4391,22 @@ msgstr "Voltooide Verzendingen" msgid "Edit Sales Order" msgstr "Verkooporder bewerken" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "Verkoooporder Artikelen" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "Verzendingen in behandeling" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "Acties" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "Nieuwe Verzending" @@ -4400,617 +4432,844 @@ msgstr "{part} stukprijs bijgewerkt naar {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}" -#: part/api.py:516 -msgid "Incoming Purchase Order" -msgstr "Binnenkomende Inkooporder" - -#: part/api.py:536 -msgid "Outgoing Sales Order" -msgstr "Uitgaande Verkooporder" - -#: part/api.py:554 -msgid "Stock produced by Build Order" -msgstr "Geproduceerde voorraad door Productieorder" - -#: part/api.py:640 -msgid "Stock required for Build Order" -msgstr "Voorraad vereist voor Productieorder" - -#: part/api.py:777 -msgid "Valid" +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" msgstr "" -#: part/api.py:778 -msgid "Validate entire Bill of Materials" +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" msgstr "" -#: part/api.py:784 -msgid "This option must be selected" +#: part/admin.py:21 +msgid "Part Description" msgstr "" -#: part/api.py:1207 -msgid "Must be greater than zero" +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" msgstr "" -#: part/api.py:1211 -msgid "Must be a valid quantity" +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" msgstr "" -#: part/api.py:1226 -msgid "Specify location for initial part stock" +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 -msgid "This field is required" +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" msgstr "" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 -msgid "Default Location" -msgstr "Standaard locatie" +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 -msgid "Total Stock" -msgstr "Totale Voorraad" +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 -msgid "Available Stock" -msgstr "Beschikbare Voorraad" +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "" + +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "" + +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "In bestelling" -#: part/forms.py:41 -msgid "Input quantity for price calculation" +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" msgstr "" -#: part/models.py:99 -msgid "Default location for parts in this category" -msgstr "Standaard locatie voor onderdelen in deze categorie" +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "Toegewezen" -#: part/models.py:102 -msgid "Default keywords" +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" msgstr "" -#: part/models.py:102 -msgid "Default keywords for parts in this category" +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" msgstr "" -#: part/models.py:107 stock/models.py:85 -msgid "Icon" +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" msgstr "" -#: part/models.py:108 stock/models.py:86 -msgid "Icon (optional)" +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 -#: part/templates/part/part_app_base.html:10 -msgid "Part Category" +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 -#: users/models.py:37 -msgid "Part Categories" +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:134 #: part/templates/part/category.html:154 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" -#: part/models.py:429 +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 +msgid "Incoming Purchase Order" +msgstr "Binnenkomende Inkooporder" + +#: part/api.py:552 +msgid "Outgoing Sales Order" +msgstr "Uitgaande Verkooporder" + +#: part/api.py:570 +msgid "Stock produced by Build Order" +msgstr "Geproduceerde voorraad door Productieorder" + +#: part/api.py:656 +msgid "Stock required for Build Order" +msgstr "Voorraad vereist voor Productieorder" + +#: part/api.py:814 +msgid "Valid" +msgstr "" + +#: part/api.py:815 +msgid "Validate entire Bill of Materials" +msgstr "" + +#: part/api.py:821 +msgid "This option must be selected" +msgstr "" + +#: part/api.py:1261 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:1265 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:1280 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 +msgid "This field is required" +msgstr "" + +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 +msgid "Default Location" +msgstr "Standaard locatie" + +#: part/bom.py:143 templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "Totale Voorraad" + +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 +msgid "Available Stock" +msgstr "Beschikbare Voorraad" + +#: part/forms.py:41 +msgid "Input quantity for price calculation" +msgstr "" + +#: part/models.py:117 +msgid "Default location for parts in this category" +msgstr "Standaard locatie voor onderdelen in deze categorie" + +#: part/models.py:120 +msgid "Default keywords" +msgstr "" + +#: part/models.py:120 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:125 stock/models.py:101 +msgid "Icon" +msgstr "" + +#: part/models.py:126 stock/models.py:102 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 +#: part/templates/part/part_app_base.html:10 +msgid "Part Category" +msgstr "" + +#: part/models.py:141 part/templates/part/category.html:129 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: users/models.py:37 +msgid "Part Categories" +msgstr "" + +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "Parameter Eenheden" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "Parameter Template" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "Ongeldige hoeveelheid" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "Categorie verwijderen" msgid "Delete Category" msgstr "Categorie verwijderen" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "Verkoopordertoewijzingen" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "Een parameter toevoegen" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "Assemblages" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "Productieordertoewijzingen" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "Onderdeelfabrikanten" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "Fabrikantonderdeel verwijderen" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "Toegewezen aan Productieorder" msgid "Allocated to Sales Orders" msgstr "Toegewezen aan verkooporders" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "Geen overeenkomende afbeeldingen gevonden" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "Datum" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "Selecteer uit bestaande afbeeldingen" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "Selecteer afbeelding onderdeel" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "Afbeelding onderdeel bijgewerkt" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "Afbeelding van onderdeel niet gevonden" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "Serienummer" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Voorraadlocatie" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "Inkooporder Bron" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "Inkooporder voor dit voorraadartikel" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "Bestemming Verkooporder" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "Voorraadartikel is toegewezen aan een verkooporder" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "Artikel is toegewezen aan een verkooporder" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "Artikel is toegewezen aan een productieorder" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "Bewerk locatie" msgid "Delete location" msgstr "Verwijder locatie" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "Openstaande Verkooporders" msgid "Overdue Sales Orders" msgstr "Achterstallige Verkooporders" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "Productieorderinstellingen" msgid "Category Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "Inkooporder Instellingen" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "De volgende onderdelen hebben een lage vereiste voorraad" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "Vereiste Hoeveelheid" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Sluit" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "Formaat" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "Selecteer bestandsindeling" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "Geen Voorraad Aanwezig" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" -msgstr "Gemiddelde inkoopprijs" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" +msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "Geen Voorraad Aanwezig" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "Voltooi Productieoorder" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "Voorraadtoewijzing bewerken" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "Voorraadtoewijzing verwijderen" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "Onvoldoende voorraad beschikbaar" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "Genoeg voorraad beschikbaar" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "Toegewezen" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "Productie voorraad" @@ -8501,21 +8780,21 @@ msgstr "Productie voorraad" msgid "Order stock" msgstr "Voorraad order" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "Voorraad toewijzen" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Onderdelen selecteren" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "Er moet op zijn minst één onderdeel toegewezen worden" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "Specificeer voorraadtoewijzingshoeveelheid" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "Selecteer bron locatie (laat het veld leeg om iedere locatie te gebruiken)" @@ -8535,11 +8814,11 @@ msgstr "Selecteer bron locatie (laat het veld leeg om iedere locatie te gebruike msgid "Allocate Stock Items to Build Order" msgstr "Voorraadartikelen toewijzen aan Productieorder" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "Geen overeenkomende voorraadlocaties" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "Geen overeenkomende voorraadartikelen" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "Productieorder is achterstallig" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "Fabrikant toevoegen" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "Fabrikantonderdeel toevoegen" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "Fabrikantonderdeel bewerken" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "Leverancier Toevoegen" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "Leveranciersonderdeel Toevoegen" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "Gefabriceerde Onderdelen" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "Verwijder Fabrikantenonderdelen" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "Parameter verwijderen" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "Geen fabrikantenonderdelen gevonden" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "Samengesteld onderdeel" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "Geen parameters gevonden" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "Parameter bewerken" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "Parameter verwijderen" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "Parameter bewerken" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "Parameter verwijderen" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "Laatst bijgewerkt" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "Order-ID" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "Onderdeelnummer Fabrikant" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "Bewerk Inkooporder" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "Export Order" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "Te bestellen aantal" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "Nieuwe inkooporder" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "Toevoegen aan inkooporder" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "Geen overeenkomende inkooporders" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "Selecteer artikelen" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "Ten minste één artikel moet worden geselecteerd" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "Order Code" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "Besteld" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "Ontvang Artikelen Inkooporder" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "Geen inkooporder gevonden" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "Order is achterstallig" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "Artikelen" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "Artikel dupliceren" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "Artikel wijzigen" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "Artikel verwijderen" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "Geen artikelen gevonden" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "Totaal" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "Stukprijs" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "Totaalprijs" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "Dit artikel is achterstallig" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "Artikel ontvangen" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "Artikel dupliceren" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "Artikel bewerken" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "Artikel verwijderen" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "Kopieer regel" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "Bewerk regel" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "Verwijder regel" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "Kopieer Regel" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "Bewerk Regel" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "Verwijder Regel" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "Geen overeenkomende regel" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "Geen verkooporder gevonden" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "Ongeldige Klant" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "Verzending bewerken" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "Verzending Voltooien" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "Verzending verwijderen" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "Verzending bewerken" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "Verzending verwijderen" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "Geen overeenkomende verzending gevonden" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "Verzendingsreferentie" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "Niet verzonden" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "Volgen" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "Factuur" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "Voeg Verzending toe" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "Bevestig de voorraadtoewijzing" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "Voorraadartikel toewijzen aan Verkooporder" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "Geen verkooporder toewijzingen gevonden" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "Bewerk Voorraadtoewijzing" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "Bevestig Verwijderen" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "Verwijder Voorraadtoewijzing" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "Verzonden aan klant" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "Voorraadlocatie niet gespecificeerd" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "Wijs serienummers toe" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "Koop voorraad" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "Bereken prijs" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "Kan niet worden verwijderd omdat artikelen verzonden zijn" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "Kan niet worden verwijderd omdat artikelen toegewezen zijn" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "Wijs Serienummers Toe" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "Werk Stukprijs Bij" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "Geen overeenkomende artikelen" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "Geen overeenkomende regels" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "Validatie van de BOM markeert ieder artikel als geldig" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "Verwijder Voorraadlocatie" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "Toegewezen aan Verkooporder" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "Geen voorraadlocatie ingesteld" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "Voorraadartikel toegewezen aan verkooporder" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "Inkooporder bestaat niet meer" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "Onderdeel is een assemblage" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "Order status" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -10738,35 +11069,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index 48748bf28b..af0d9c0708 100644 --- a/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:02\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:51\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "API endepunkt ikke funnet" @@ -25,27 +25,27 @@ msgstr "API endepunkt ikke funnet" msgid "Error details can be found in the admin panel" msgstr "Feildetaljer kan ikke finnes i admin-panelet" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "Oppgi dato" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "Notater" @@ -122,43 +122,43 @@ msgstr "Ekstern server returnerte tomt svar" msgid "Supplied URL is not a valid image file" msgstr "Angitt URL er ikke en gyldig bildefil" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "Tom serienummerstreng" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Ugyldig gruppeserie: {g}" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Ugyldig gruppesekvense: {g}" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "Ingen serienummer funnet" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Antall unike serienumre ({s}) må samsvare med antall ({q})" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "" @@ -194,7 +194,7 @@ msgstr "Fil mangler" msgid "Missing external link" msgstr "Mangler eksternlenke" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "Vedlegg" msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "Lenke" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "Lenke til ekstern URL" @@ -228,12 +229,12 @@ msgstr "Kommenter" msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "Bruker" @@ -270,44 +271,45 @@ msgstr "Feil ved endring av navn" msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "Navn" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "Beskrivelse" @@ -320,7 +322,7 @@ msgid "parent" msgstr "overkategori" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "" @@ -352,187 +354,187 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "Nummer må være gyldig" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "Filnavn" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "Ugyldig verdi" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "Data fil" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "Velg datafil for opplasting" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "Filtypen støttes ikke" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "Filen er for stor" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "Ingen kolonner funnet i filen" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "Ingen datalader funnet i fil" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "Ingen datalader oppgitt" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "Ingen datakolonner angitt" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Mangler påkrevd kolonne: '{name}'" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Dupliser kolonne: '{col}'" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "Tsjekkisk" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" -msgstr "" +msgstr "Dansk" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "Tysk" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "Gresk" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "Engelsk" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "Spansk" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "Spansk (Meksikansk)" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "Farsi / Persisk" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "Fransk" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "Hebraisk" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "Ungarsk" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "Italiensk" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "Japansk" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "Koreansk" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "Nederlandsk" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "Norsk" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "Polsk" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "Portugisisk" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "Portugisisk (Brasilian)" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "Russisk" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "Svensk" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "Thailandsk" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "Tyrkisk" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "Vietnamesisk" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "Kinesisk" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "Bakgrunnsarbeiderkontroll mislyktes" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "E-post backend ikke konfigurert" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "Helsekontroll av IvenTree system mislyktes" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "Ventende" @@ -561,14 +563,14 @@ msgstr "Tapt" msgid "Returned" msgstr "Returnert" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "Sendt" #: InvenTree/status_codes.py:179 msgid "OK" -msgstr "" +msgstr "OK" #: InvenTree/status_codes.py:180 msgid "Attention needed" @@ -588,7 +590,7 @@ msgstr "Avvist" #: InvenTree/status_codes.py:185 msgid "Quarantined" -msgstr "" +msgstr "Karantene" #: InvenTree/status_codes.py:259 msgid "Legacy stock tracking entry" @@ -646,7 +648,7 @@ msgstr "Delt fra overordnet element" msgid "Split child item" msgstr "Delt fra underelement" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "Sammenslått lagervare" @@ -654,7 +656,7 @@ msgstr "Sammenslått lagervare" msgid "Converted to variant" msgstr "Konvertert til variant" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "Sendt til kunde" @@ -725,7 +727,7 @@ msgstr "Systeminformasjon" #: InvenTree/views.py:780 templates/navbar.html:163 msgid "About InvenTree" -msgstr "" +msgstr "Om InvenTree" #: build/api.py:219 msgid "Build must be cancelled before it can be deleted" @@ -746,7 +748,7 @@ msgstr "Build ordre" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "Build Ordre" msgid "Build Order Reference" msgstr "Bygg ordrereferanse" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "Referanse" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "Build order som denne build er tildelt til" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "Del" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Salgorder som denne build er tildelt til" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "Kilde plassering" @@ -874,8 +877,8 @@ msgstr "Byggstatus" msgid "Build status code" msgstr "Byggstatuskode" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "Batch kode" @@ -883,12 +886,12 @@ msgstr "Batch kode" msgid "Batch code for this build output" msgstr "Batch kode for denne build output" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "Opprettelsesdato" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "Forventet sluttdato" @@ -896,7 +899,7 @@ msgstr "Forventet sluttdato" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Forventet dato for ferdigstillelse. Build er forvalt etter denne datoen." -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "Fullført dato" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "Brukeren som utstede denne prosjekt order" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "Ansvarlig" @@ -929,7 +932,7 @@ msgstr "Bruker ansvarlig for denne prosjekt order" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "Ekstern link" @@ -968,11 +971,11 @@ msgstr "Prosjektvare må spesifisere en prosjekt utdata, siden hovedvaren er mar msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "Lagervare er overtildelt" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "Tildeling antallet må være større enn null" @@ -994,18 +997,18 @@ msgstr "Prosjekt" msgid "Build to allocate parts" msgstr "Bygge for å tildele deler" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "Lagervare" @@ -1015,12 +1018,10 @@ msgstr "Kilde lagervare" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "Kilde lagervare" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "Antall" @@ -1087,10 +1092,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "Angi antall for build utgang" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" @@ -1102,9 +1107,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "Serienummer" @@ -1114,13 +1119,13 @@ msgstr "Angi serienummer for bygge-utganger" #: build/serializers.py:245 msgid "Auto Allocate Serial Numbers" -msgstr "" +msgstr "Automatisk tildeling av serienummere" #: build/serializers.py:246 msgid "Automatically allocate required items with matching serial numbers" -msgstr "" +msgstr "Automatisk allokering av nødvendige elementer med tilsvarende serienummer" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "Beliggenhet" @@ -1148,26 +1153,27 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" -msgstr "" +msgstr "Status" #: build/serializers.py:382 msgid "Accept Incomplete Allocation" -msgstr "" +msgstr "Godta ufullstendig tildeling" #: build/serializers.py:383 msgid "Complete outputs if stock has not been fully allocated" -msgstr "" +msgstr "Fullstendig produkt dersom lagerbeholdning ikke er fullt tildelt" #: build/serializers.py:452 msgid "Remove Allocated Stock" -msgstr "" +msgstr "Fjern tildelt lagerbeholdning" #: build/serializers.py:453 msgid "Subtract any stock which has already been allocated to this build" @@ -1213,7 +1219,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "Påkrevd varer er ikke fullt tildelt" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "" @@ -1229,8 +1235,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "BOM varer" @@ -1246,11 +1252,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "Varen må være på lager" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig mengde ({q}) overskredet" @@ -1267,7 +1273,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "" @@ -1324,7 +1330,7 @@ msgstr "" #: build/templates/build/build_base.html:50 msgid "Build actions" -msgstr "" +msgstr "Bygg handlinger" #: build/templates/build/build_base.html:54 msgid "Edit Build" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "Måldato" @@ -1401,29 +1407,29 @@ msgstr "" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "Fullført" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "Salgsorder" @@ -1449,8 +1455,8 @@ msgstr "Lager kilde" msgid "Stock can be taken from any available location." msgstr "Lagervare kan hentes fra alle tilgengelige steder." -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "Destinasjon" @@ -1462,14 +1468,14 @@ msgstr "Målplassering er ikke spesifisert" msgid "Allocated Parts" msgstr "Tildelte deler" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "" @@ -1510,7 +1516,7 @@ msgstr "" #: build/templates/build/detail.html:180 msgid "Auto Allocate" -msgstr "" +msgstr "Automatisk tildeling" #: build/templates/build/detail.html:182 msgid "Manually allocate stock to build" @@ -1527,7 +1533,7 @@ msgstr "Bestill nødvendige deler" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "Bestill deler" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Vedlegg" @@ -1617,7 +1623,7 @@ msgstr "Tildeling fullført" msgid "All untracked stock items have been allocated" msgstr "Alle usporbar lagervarer har tildelt" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Firmanavn" @@ -1902,9 +1908,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "Kopier kategori parametermaler ved oppretting av en del" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "Mal" @@ -1912,9 +1918,10 @@ msgstr "Mal" msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "Montering" @@ -1922,8 +1929,8 @@ msgstr "Montering" msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "Komponent" @@ -1931,7 +1938,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "Kjøpbar" @@ -1939,8 +1946,8 @@ msgstr "Kjøpbar" msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "Salgbar" @@ -1948,10 +1955,10 @@ msgstr "Salgbar" msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "Sporbar" @@ -1959,10 +1966,10 @@ msgstr "Sporbar" msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "Virtuelle" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "Vis importveiviseren i noen deler visninger" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "Vis pris i skjemaer" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "Vis delpris i noen skjemaer" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "Krevt at brukeren angi e-post ved registrering" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO brukere" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO kontodata" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "Ved registrering spør brukere to ganger for e-posten" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "Ved registrerting, spør brukere to ganger for passord" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "Gruppe for hvilke nye brukere som er tilknyttet registrering" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "Aktiver URL integrering" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrering" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "Aktiver app integrasjon" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "Vis abbonerte deler" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "Vis abbonerte deler på hjemmesiden" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "Vis abbonerte kategorier" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "Vis abbonerte delkatekorier på hjemmesiden" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på hjemmesiden" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "Antall nylig deler" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "Vis uvaliderte BOMs" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "Vis BOMs som venter validering på hjemmesiden" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endret lagervarer på hjemmesiden" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "Siste lagertelling" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "Antall nylige lagervarer som skal vises på indeksside" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "Vis lav lager" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "Vis lav lagervarer på hjemmesiden" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "Vis tom lagervarer" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" -msgstr "" +msgstr "Del planlegging" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "Aktiv" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "Sjetong" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "Vert" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "Tittel" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "Brødtekst" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Last opp fil" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Sammelign felter" @@ -2816,298 +2869,301 @@ msgstr "Deler importert" msgid "Previous Step" msgstr "Forrige trinn" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "Beskrivelse av firma" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "Beskrivelse av firmaet" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "Nettside" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "Bedriftens nettside URL" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "Adresse" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "Firmaet adresse" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "Telefonnummer" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "Kontakt-telefonnummer" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "E-post" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "Kontakt e-post" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "Kontakt" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "Link til ekstern bedriftsinformasjon" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "Bilde" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "Notater til firma" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "Selger du varer til dette firmaet?" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "Kjøper du varer fra dette firmaet?" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "Produserer dette firmaet deler?" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "Valuta" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "Standardvaluta brukt for dette firmaet" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" -msgstr "" +msgstr "Produsentens varenummer" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" -msgstr "" +msgstr "Produsentdeler" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "" @@ -3162,14 +3218,14 @@ msgstr "" msgid "Download image from URL" msgstr "Last ned bilde fra URL" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "Kunde" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "Last opp bilde" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "" @@ -3203,7 +3259,7 @@ msgstr "Oprett ny leverandørdel" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "Ny leverandørdel" @@ -3232,7 +3288,7 @@ msgstr "Produsentdeler" msgid "Create new manufacturer part" msgstr "Opprett ny produsentdeler" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "Ny produsentdel" @@ -3246,7 +3302,7 @@ msgstr "Leverandør lager" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "Ny bestillingsorder" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "Leverandørliste" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "Produsenter" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "Bestill del" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "Endre produsent del" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "Slett produsentdel" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "Leverandører" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "Slett leverandørdeler" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "Slett" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "" @@ -3387,12 +3443,12 @@ msgid "Assigned Stock Items" msgstr "Tildelt lagervarer" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" -msgstr "" +msgstr "Leverandør deler" #: company/templates/company/supplier_part.html:36 #: part/templates/part/part_base.html:43 @@ -3425,14 +3481,14 @@ msgstr "" #: company/templates/company/supplier_part.html:51 msgid "Supplier part actions" -msgstr "" +msgstr "Handlinger for leverandørdeler" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:222 #: part/templates/part/detail.html:88 msgid "Order Part" -msgstr "" +msgstr "Bestill del" #: company/templates/company/supplier_part.html:61 #: company/templates/company/supplier_part.html:62 @@ -3441,23 +3497,23 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" -msgstr "" +msgstr "Rediger Leverandørdel" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" -msgstr "" +msgstr "Dupliser leverandørdelen" #: company/templates/company/supplier_part.html:74 msgid "Delete Supplier Part" -msgstr "" +msgstr "Slett Leverandørdel" #: company/templates/company/supplier_part.html:75 msgid "Delete Supplier Part" -msgstr "" +msgstr "Slett Leverandørdel" #: company/templates/company/supplier_part.html:122 #: part/templates/part/part_base.html:307 @@ -3473,7 +3529,7 @@ msgstr "" #: company/templates/company/supplier_part.html:200 #: company/templates/company/supplier_part_navbar.html:12 msgid "Supplier Part Stock" -msgstr "" +msgstr "Leverandør lager" #: company/templates/company/supplier_part.html:203 #: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 @@ -3482,59 +3538,32 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "" #: company/templates/company/supplier_part.html:217 #: company/templates/company/supplier_part_navbar.html:19 msgid "Supplier Part Orders" -msgstr "" +msgstr "Leverandørordre" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" -msgstr "" +msgstr "Koble strekkode til leverandørdelen" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" -msgstr "" +msgstr "Oppdater tilgjengelighet" #: company/templates/company/supplier_part_navbar.html:15 #: part/templates/part/part_sidebar.html:14 @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,7 +4185,8 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" msgstr "" #: order/templates/order/order_base.html:65 @@ -4162,7 +4194,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "" + +#: part/admin.py:21 +msgid "Part Description" +msgstr "" + +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "" + +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" + +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" + +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" + +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "" + +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "" + +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 +#: templates/js/translated/table_filters.js:68 +msgid "On Order" +msgstr "" + +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "" + +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "" + +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "" + +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" + +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:23 part/templates/part/category.html:134 +#: part/templates/part/category.html:154 +#: part/templates/part/category_sidebar.html:9 +#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 +#: templates/InvenTree/settings/sidebar.html:41 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 +#: templates/navbar.html:24 users/models.py:38 +msgid "Parts" +msgstr "" + +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:536 +#: part/api.py:552 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:554 +#: part/api.py:570 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:640 +#: part/api.py:656 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:777 +#: part/api.py:814 msgid "Valid" msgstr "" -#: part/api.py:778 +#: part/api.py:815 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:784 +#: part/api.py:821 msgid "This option must be selected" msgstr "" -#: part/api.py:1207 +#: part/api.py:1261 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1211 +#: part/api.py:1265 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1226 +#: part/api.py:1280 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 msgid "This field is required" msgstr "" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 msgid "Default Location" msgstr "" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 +#: part/bom.py:143 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 msgid "Available Stock" msgstr "" -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 -#: templates/js/translated/table_filters.js:68 -msgid "On Order" -msgstr "" - #: part/forms.py:41 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:99 +#: part/models.py:117 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:85 +#: part/models.py:125 stock/models.py:101 msgid "Icon" msgstr "" -#: part/models.py:108 stock/models.py:86 +#: part/models.py:126 stock/models.py:102 msgid "Icon (optional)" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 +#: part/models.py:141 part/templates/part/category.html:129 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 -#: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 -#: templates/navbar.html:24 users/models.py:38 -msgid "Parts" -msgstr "" - -#: part/models.py:429 +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "" msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "Valgmuligheter" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "Seriernummer eksisterer allerede" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "" msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "Alle valgte leverandørdeler vil slettes" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -10738,35 +11069,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index 7dec54e2d6..52d0130ca4 100644 --- a/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:02\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:51\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "Nie znaleziono punktu końcowego API" @@ -25,27 +25,27 @@ msgstr "Nie znaleziono punktu końcowego API" msgid "Error details can be found in the admin panel" msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "Wprowadź dane" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "Uwagi" @@ -122,43 +122,43 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "Pusty ciąg numeru seryjnego" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Nieprawidłowy zakres grupy: {g}" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Nieprawidłowa sekwencja grupy: {g}" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "Nie znaleziono numerów seryjnych" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Liczba unikalnych numerów seryjnych ({s}) musi odpowiadać ilości ({q})" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "" @@ -194,7 +194,7 @@ msgstr "Brak pliku" msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "Załącznik" msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "Łącze" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" @@ -228,12 +229,12 @@ msgstr "Komentarz" msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "Użytkownik" @@ -270,44 +271,45 @@ msgstr "Błąd zmiany nazwy pliku" msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "Nazwa" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "Opis" @@ -320,7 +322,7 @@ msgid "parent" msgstr "nadrzędny" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "Ścieżka" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "" @@ -352,187 +354,187 @@ msgstr "Błąd serwera" msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "Nazwa pliku" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "Nieprawidłowa wartość" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "Plik danych" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "Wybierz plik danych do przesłania" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "Nieobsługiwany typ pliku" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "Plik jest zbyt duży" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "Nie znaleziono kolumn w pliku" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "Nie znaleziono wierszy danych w pliku" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "Nie podano wierszy danych" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "Nie podano kolumn danych" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Brakuje wymaganej kolumny: '{name}'" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Zduplikowana kolumna: '{col}'" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "Czeski" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "Niemiecki" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "Grecki" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "Angielski" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "Hiszpański" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "Hiszpański (Meksyk)" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "Perski" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "Francuski" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "Hebrajski" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "Węgierski" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "Włoski" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "Japoński" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "Koreański" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "Holenderski" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "Norweski" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "Polski" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "Portugalski" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "Portugalski (Brazylijski)" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "Rosyjski" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "Szwedzki" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "Tajski" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "Turecki" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "Wietnamski" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "Chiński" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "Nie skonfigurowano backendu e-mail" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "W toku" @@ -561,8 +563,8 @@ msgstr "Zagubiono" msgid "Returned" msgstr "Zwrócone" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "Wysłane" @@ -646,7 +648,7 @@ msgstr "Podziel z pozycji nadrzędnej" msgid "Split child item" msgstr "Podziel element podrzędny" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "Scalone przedmioty magazynowe" @@ -654,7 +656,7 @@ msgstr "Scalone przedmioty magazynowe" msgid "Converted to variant" msgstr "Przekonwertowano na wariant" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "Wyślij do klienta" @@ -746,7 +748,7 @@ msgstr "Zlecenie Budowy" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "Zlecenia budowy" msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "Referencja" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "Komponent" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "Lokalizacja źródła" @@ -874,8 +877,8 @@ msgstr "Status budowania" msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "Kod partii" @@ -883,12 +886,12 @@ msgstr "Kod partii" msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "Data utworzenia" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "Docelowy termin zakończenia" @@ -896,7 +899,7 @@ msgstr "Docelowy termin zakończenia" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "Data zakończenia" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "Odpowiedzialny" @@ -929,7 +932,7 @@ msgstr "Użytkownik odpowiedzialny za to zamówienie budowy" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "Link Zewnętrzny" @@ -968,11 +971,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" @@ -994,18 +997,18 @@ msgstr "Budowa" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "Element magazynowy" @@ -1015,12 +1018,10 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "Ilość" @@ -1087,10 +1092,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" @@ -1102,9 +1107,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "Numer seryjny" @@ -1120,7 +1125,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "Lokalizacja" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "Status" @@ -1213,7 +1219,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" @@ -1229,8 +1235,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "Element BOM" @@ -1246,11 +1252,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1267,7 +1273,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "Data docelowa" @@ -1401,29 +1407,29 @@ msgstr "" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "Zaległe" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "Zakończone" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "Zamówienie zakupu" @@ -1449,8 +1455,8 @@ msgstr "Źródło magazynu" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "Przeznaczenie" @@ -1462,14 +1468,14 @@ msgstr "Nie określono lokalizacji docelowej" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "Partia" @@ -1527,7 +1533,7 @@ msgstr "Zamów wymagane komponenty" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "Zamów komponent" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Załączniki" @@ -1617,7 +1623,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "Nowe zlecenie budowy" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Nazwa firmy" @@ -1902,9 +1908,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "Szablon" @@ -1912,9 +1918,10 @@ msgstr "Szablon" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "Złożenie" @@ -1922,8 +1929,8 @@ msgstr "Złożenie" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "Komponent" @@ -1931,7 +1938,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "Możliwość zakupu" @@ -1939,8 +1946,8 @@ msgstr "Możliwość zakupu" msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "Możliwość sprzedaży" @@ -1948,10 +1955,10 @@ msgstr "Możliwość sprzedaży" msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "Możliwość śledzenia" @@ -1959,10 +1966,10 @@ msgstr "Możliwość śledzenia" msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "Wirtualny" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "Pokaż cenę w BOM" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "Dołącz informacje cenowe w tabelach BOM" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "Pokaż historię cen" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "Utwórz początkowy stan magazynowy" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "Ceny wewnętrzne" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" -msgstr "Włącz drukowanie etykiet" - -#: common/models.py:1132 -msgid "Enable label printing from the web interface" -msgstr "Włącz drukowanie etykiet z interfejsu WWW" - -#: common/models.py:1138 -msgid "Label Image DPI" -msgstr "DPI etykiety" - -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "Włącz raporty" - -#: common/models.py:1149 -msgid "Enable generation of reports" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "Tryb Debugowania" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1162 -msgid "Page Size" -msgstr "Rozmiar strony" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "Domyślna wielkość strony dla raportów PDF" - -#: common/models.py:1173 -msgid "Enable Test Reports" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "Włącz generowanie raportów testów" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "dni" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "Ceny wewnętrzne" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "Włącz drukowanie etykiet" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "Włącz drukowanie etykiet z interfejsu WWW" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "DPI etykiety" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "Włącz raporty" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "Tryb Debugowania" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "Rozmiar strony" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "Domyślna wielkość strony dla raportów PDF" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "Włącz generowanie raportów testów" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "Włącz samodzielną rejestrację dla użytkowników na stronach logowania" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich adres e-mail" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "Sprawdź wtyczki przy starcie" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "Pokaż wymagany stan zapasów" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "Szukaj części" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "Ukryj nieaktywne części" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "Format daty" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "Cena" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "Aktywny" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "Sekret" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "Nagłówek" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "Zawartość" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "Autor" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Wyślij plik" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2816,298 +2869,301 @@ msgstr "" msgid "Previous Step" msgstr "Poprzedni krok" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "Opis firmy" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "Opis firmy" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "Strona WWW" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "Witryna internetowa firmy" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "Adres" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "Adres firmy" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "Numer telefonu" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "Numer telefonu kontaktowego" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "Adres E-Mail" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "Kontaktowy adres e-mail" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "Kontakt" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "Punkt kontaktowy" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "Link do informacji o zewnętrznym przedsiębiorstwie" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "Obraz" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "Notatki firmy" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "jest klientem" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "Czy sprzedajesz produkty tej firmie?" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "jest dostawcą" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "Czy kupujesz przedmioty od tej firmy?" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "jest producentem" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "Czy to przedsiębiorstwo produkuje części?" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "Waluta" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "Część bazowa" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "Wybierz część" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "Producent" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "Wybierz producenta" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "Numer producenta komponentu" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "Komponent producenta" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "Wartość" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "Jednostki" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "Jednostki parametru" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "Dostawca" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "Uwaga" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "Opakowanie" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "Opakowanie części" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "wielokrotność" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "Dostępne" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "ostatnia aktualizacja" @@ -3121,7 +3177,7 @@ msgstr "Kod Waluty" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "Firma" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "Edytuj firmę" @@ -3162,14 +3218,14 @@ msgstr "Prześlij nowy obraz" msgid "Download image from URL" msgstr "Pobierz obraz z adresu URL" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "Klient" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "Telefon" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "Załaduj obrazek" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "Pobierz obraz" @@ -3203,7 +3259,7 @@ msgstr "Utwórz nowego dostawcę części" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "Nowy dostawca części" @@ -3232,7 +3288,7 @@ msgstr "Części producenta" msgid "Create new manufacturer part" msgstr "Utwórz nową część producenta" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "Nowa część producenta" @@ -3246,7 +3302,7 @@ msgstr "Zapasy dostawcy" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "Nowe zamówienie zakupu" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "Lista dostawców" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "Producenci" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "Zamów komponent" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "Edytuj komponent producenta" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "Usuń komponent producenta" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "Dostawcy" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "Usuń" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parametry" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "Nowy parametr" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "Usuń parametry" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "Dodaj parametr" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "Utwórz nowy towar" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "Nowy towar" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "Informacja cenowa" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "Edytuj przedział cenowy" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "Edytuj przedział cenowy" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "Ostatnio aktualizowane" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "Stan" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "Cennik" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "Towary" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "Opis Zamówienia" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "Utworzony przez" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "Notatki do zamówienia" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "Status zamówienia zakupu" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "odebrane przez" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "Data Dostawy Towaru" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "Zamówienie" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "Odebrane" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "Notatki do przesyłki" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "Linia" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "Komponent" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "Zamówienie nie może zostać anulowane" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,15 +4185,16 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" -msgstr "Złóż zamówienie" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" +msgstr "" #: order/templates/order/order_base.html:65 msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "Wybierz dostawcę części" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Usuń wiersz" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "Dodaj element zamówienia" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "Otrzymane elementy" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "Notatki zamówień" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "Oczekujące przesyłki" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "Akcje" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "Nowa wysyłka" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 -msgid "Incoming Purchase Order" +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "ID komponentu" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "Nazwa komponentu" + +#: part/admin.py:21 +msgid "Part Description" msgstr "" -#: part/api.py:536 -msgid "Outgoing Sales Order" +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" msgstr "" -#: part/api.py:554 -msgid "Stock produced by Build Order" +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "Wersja" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "Słowa kluczowe" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "ID kategorii" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" msgstr "" -#: part/api.py:640 -msgid "Stock required for Build Order" +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" msgstr "" -#: part/api.py:777 -msgid "Valid" -msgstr "Ważny" - -#: part/api.py:778 -msgid "Validate entire Bill of Materials" +#: part/admin.py:31 +msgid "Default Supplier ID" msgstr "" -#: part/api.py:784 -msgid "This option must be selected" -msgstr "Ta opcja musi być zaznaczona" +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "Minimalny stan magazynowy" -#: part/api.py:1207 -msgid "Must be greater than zero" -msgstr "Musi być większe niż zero" +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "Na stanie" -#: part/api.py:1211 -msgid "Must be a valid quantity" -msgstr "Musi być prawidłową ilością" - -#: part/api.py:1226 -msgid "Specify location for initial part stock" -msgstr "" - -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 -msgid "This field is required" -msgstr "To pole jest wymagane" - -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 -msgid "Default Location" -msgstr "Domyślna lokalizacja" - -#: part/bom.py:128 templates/email/low_stock_notification.html:17 -msgid "Total Stock" -msgstr "" - -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 -msgid "Available Stock" -msgstr "Dostępna ilość" - -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "W Zamówieniu" -#: part/forms.py:41 -msgid "Input quantity for price calculation" +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "Użyte w" + +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "Przydzielono" + +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" msgstr "" -#: part/models.py:99 -msgid "Default location for parts in this category" -msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" - -#: part/models.py:102 -msgid "Default keywords" -msgstr "Domyślne słowa kluczowe" - -#: part/models.py:102 -msgid "Default keywords for parts in this category" +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" msgstr "" -#: part/models.py:107 stock/models.py:85 -msgid "Icon" +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" msgstr "" -#: part/models.py:108 stock/models.py:86 -msgid "Icon (optional)" +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 -#: part/templates/part/part_app_base.html:10 -msgid "Part Category" -msgstr "Kategoria komponentu" +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 -#: users/models.py:37 -msgid "Part Categories" -msgstr "Kategorie części" +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "Ścieżka kategorii" -#: part/models.py:344 part/templates/part/cat_link.html:3 +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:134 #: part/templates/part/category.html:154 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Części" -#: part/models.py:429 +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "IPN komponentu" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 +msgid "Incoming Purchase Order" +msgstr "" + +#: part/api.py:552 +msgid "Outgoing Sales Order" +msgstr "" + +#: part/api.py:570 +msgid "Stock produced by Build Order" +msgstr "" + +#: part/api.py:656 +msgid "Stock required for Build Order" +msgstr "" + +#: part/api.py:814 +msgid "Valid" +msgstr "Ważny" + +#: part/api.py:815 +msgid "Validate entire Bill of Materials" +msgstr "" + +#: part/api.py:821 +msgid "This option must be selected" +msgstr "Ta opcja musi być zaznaczona" + +#: part/api.py:1261 +msgid "Must be greater than zero" +msgstr "Musi być większe niż zero" + +#: part/api.py:1265 +msgid "Must be a valid quantity" +msgstr "Musi być prawidłową ilością" + +#: part/api.py:1280 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 +msgid "This field is required" +msgstr "To pole jest wymagane" + +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 +msgid "Default Location" +msgstr "Domyślna lokalizacja" + +#: part/bom.py:143 templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 +msgid "Available Stock" +msgstr "Dostępna ilość" + +#: part/forms.py:41 +msgid "Input quantity for price calculation" +msgstr "" + +#: part/models.py:117 +msgid "Default location for parts in this category" +msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" + +#: part/models.py:120 +msgid "Default keywords" +msgstr "Domyślne słowa kluczowe" + +#: part/models.py:120 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:125 stock/models.py:101 +msgid "Icon" +msgstr "" + +#: part/models.py:126 stock/models.py:102 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 +#: part/templates/part/part_app_base.html:10 +msgid "Part Category" +msgstr "Kategoria komponentu" + +#: part/models.py:141 part/templates/part/category.html:129 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: users/models.py:37 +msgid "Part Categories" +msgstr "Kategorie części" + +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "Nieprawidłowy wybór dla części nadrzędnej" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Część '{p1}' jest używana w BOM dla '{p2}' (rekursywne)" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "Czy ta część stanowi szablon części?" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "Wariant" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "Opis komponentu" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "Słowa kluczowe" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "Kategoria" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "Wersja" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "Minimalny stan magazynowy" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "Czy ta część może być użyta do budowy innych części?" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "Czy to wirtualna część, taka jak oprogramowanie lub licencja?" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "Wymagane" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "Dane" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "ID komponentu" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:2572 -msgid "Part Name" -msgstr "Nazwa komponentu" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "IPN komponentu" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "Poziom" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "Opcjonalne" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "Dziedziczone" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "Część 1" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "Część 2" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "Usuń kategorię" msgid "Delete Category" msgstr "Usuń kategorię" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "Ścieżka kategorii" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "Kategoria najwyższego poziomu" @@ -5091,12 +5346,12 @@ msgstr "Części (w tym podkategorie)" msgid "Create new part" msgstr "Utwórz nową część" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "Nowy komponent" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "Opcje" @@ -5144,7 +5399,7 @@ msgstr "Część utworzona pomyślnie" msgid "Import Parts" msgstr "Importuj Części" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "Duplikuj część" @@ -5176,7 +5431,8 @@ msgstr "Zapasy części" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "Odśwież" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "Warianty Części" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "Utwórz nowy wariant" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "Nowy wariant" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "Powiązane części" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "Dodaj powiązane" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "Zestawienie materiałowe" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "Akcje eksportu" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "Eksportuj BOM" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "Drukuj raport BOM" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "Wgraj BOM" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "Weryfikuj BOM" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "Dodaj część do BOM" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "Złożenia" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "Dostawcy Części" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "Producenci części" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "Powiązane części" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "Dodaj powiązaną część" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "Część jest wirtualna (nie fizyczna)" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "Nieaktywny" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "Na stanie" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "Przypisane do zamówień sprzedaży" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "Minimalny poziom stanu magazynowego" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "Ostatni numer seryjny" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "Szukaj numeru seryjnego" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "Oblicz" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "Nie znaleziono pasujących obrazów" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "Ukryj szczegóły części" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "Cennik dostawcy" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "Cena jednostkowa" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "Całkowity Koszt" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "Brak dostępnych cen dostawców" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "Cena zakupu jednostkowego" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "Całkowita cena zakupu" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "Uwaga: cena BOM jest niekompletna dla tej części" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "Brak dostępnych cen BOM" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "Cena wewnętrzna" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "Brak dostępnych informacji o cenach dla tej części." @@ -5573,7 +5794,8 @@ msgstr "Brak dostępnych informacji o cenach dla tej części." #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "Data" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "Warianty" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "Użyte w" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "Planowanie" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "Szablony testowe" @@ -5601,74 +5819,82 @@ msgstr "Szablony testowe" msgid "Select from existing images" msgstr "Wybierz z istniejących obrazów" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" -msgstr "Przedziały cenowe" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" +msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" -msgstr "Pokaż cenę dostawcy" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" +msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" -msgstr "Pokaż cenę zakupu" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" +msgstr "Ostatnia aktualizacja" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" -msgstr "Pokaż koszt BOM" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" +msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" -msgstr "Pokaż koszt sprzedaży" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" +msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" -msgstr "Pokaż cenę sprzedaży" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" +msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" -msgstr "Parametry obliczeniowe" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" +msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" -msgstr "Koszty dostawcy" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" +msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "Przejdź do przeglądu" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "Koszt wewnętrzny" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" -msgstr "Koszt BOM" - -#: part/templates/part/prices.html:261 -msgid "Sale Cost" -msgstr "Koszt sprzedaży" - -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" +msgstr "" + +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "Brak w magazynie" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "Nieznana baza danych" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "Żaden" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "Kod QR części" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "Wybierz obrazek części" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "Zaktualizowano zdjęcie części" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "Nie znaleziono obrazka części" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "Cennik części" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "Numer Seryjny" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "Wynik" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "Zainstalowane elementy" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "Numer seryjny" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "ID lokalizacji" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "Ścieżka lokalizacji" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "ID części dostawcy" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "Zainstalowane w" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "Data ważności" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "Właściciel" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "Wybierz właściciela" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "Nadrzędny towar" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "Część podstawowa" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "Wybierz pasującą część dostawcy dla tego towaru" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "Zainstalowane w" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "Ilość w magazynie" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "Data ważności" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "Usuń po wyczerpaniu" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "Ilość musi być liczbą całkowitą" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "Ilość nie może przekraczać dostępnej ilości towaru ({n})" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "Nazwa testu" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "Cena zakupu tego towaru" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "Część musi być dostępna do sprzedaży" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "Termin minął" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "Ostatnia aktualizacja" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" @@ -6783,11 +7051,6 @@ msgstr "Edytuj lokację" msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "Ścieżka lokalizacji" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "Trwające zlecenia sprzedaży" msgid "Overdue Sales Orders" msgstr "Zaległe zlecenia sprzedaży" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "Ustawienia kategorii" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "Ustawienia walut" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "Waluta bazowa" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "Kurs wymiany" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "Ostatnia Aktualizacja" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "Nigdy" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "Aktualizuj teraz" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "Ustawienia serwera" @@ -7090,15 +7337,15 @@ msgstr "Otwórz w nowej karcie" msgid "Part Settings" msgstr "Ustawienia części" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "Import części" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "Import części" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "Instaluj wtyczkę" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "Autor" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "Klucz podpisu" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "Ustawienia walut" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "Aktualizuj teraz" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "Ostatnia Aktualizacja" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "Nigdy" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "Waluta bazowa" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "Kurs wymiany" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "Nie znaleziono szablonów parametrów części" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "Ustawienia globalne" msgid "Server Configuration" msgstr "Konfiguracja serwera" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "Waluty" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "Kategorie" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7893,7 +8165,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "Wymagana ilość" @@ -7907,7 +8179,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "Minimalna ilość" @@ -8060,7 +8332,7 @@ msgstr "" msgid "Unlink" msgstr "Rozłącz" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8130,10 +8402,10 @@ msgstr "Wyświetl dane wiersza" msgid "Row Data" msgstr "Dane wiersza" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Zamknij" @@ -8143,12 +8415,12 @@ msgid "Download BOM Template" msgstr "Pobierz szablon BOM-u" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "Wybierz format pliku" @@ -8200,118 +8472,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "Dodaj zamiennik" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "Zobacz BOM" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8356,12 +8640,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "Ostatni numer seryjny" @@ -8458,12 +8742,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8483,20 +8767,15 @@ msgstr "" msgid "Quantity Per" msgstr "Ilość za" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "Przydzielono" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8504,21 +8783,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Wybierz części" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8530,7 +8809,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8538,11 +8817,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8574,9 +8853,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "Wybierz" @@ -8588,7 +8867,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "Brak informacji o użytkowniku" @@ -8596,118 +8875,144 @@ msgstr "Brak informacji o użytkowniku" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "Dodaj producenta" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "Dodaj część producenta" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "Dodaj dostawcę" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "Wszystkie wybrane komponenty dostawcy zostaną usunięte" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "Dodaj nową firmę" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "Usuń parametry" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "Nie znaleziono parametrów" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "Edytuj Parametr" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "Usuń parametr" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "Edytuj Parametr" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "Usuń parametr" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "Edytuj przedział cenowy" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "Ostatnio aktualizowane" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "Edytuj przedział cenowy" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8788,27 +9093,27 @@ msgstr "Wyszukiwanie" msgid "Clear input" msgstr "Wyczyść wejście" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "Kolumna pliku" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "Nazwa pola" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "Wybór Kolumn" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "TAK" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "Nie" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8817,7 +9122,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "Wybierz przedmioty magazynowe" @@ -8937,14 +9242,6 @@ msgstr "ID firmy" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "ID lokalizacji" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8955,17 +9252,13 @@ msgstr "ID zamówienia" msgid "Shipment ID" msgstr "ID wysyłki" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "ID kategorii" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" -msgstr "ID części dostawcy" +#: templates/js/translated/news.js:23 +msgid "No news found" +msgstr "" #: templates/js/translated/notification.js:42 msgid "Age" @@ -9107,659 +9400,688 @@ msgstr "Edytuj zamówienie zakupu" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "Kod zamówienia" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "Zamówione" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "Ilość do otrzymania" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "Potwierdź odbiór elementów" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "Przedmioty" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "Razem" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "Cena jednostkowa" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "Cena całkowita" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "Nie znaleziono zamówień sprzedaży" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "Nieprawidłowy klient" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "Edytuj wysyłkę" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "Kompletna wysyłka" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "Usuń wysyłkę" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "Edytuj wysyłkę" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "Usuń wysyłkę" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "Nie odnaleziono pasujących przesyłek" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "Numer referencyjny przesyłki" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "Nie wysłano" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "Śledzenie" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "Potwierdź przydział zapasów" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "Cena zakupu" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "Oblicz cenę" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "Zaktualizuj cenę jednostkową" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "Atrybuty części" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "Dodaj dane dostawcy" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "Kopiuj obraz" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "Edytuj kategorię części" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "Czy na pewno chcesz usunąć tę kategorię części?" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "Edytuj część" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "Część zmodyfikowana" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "Utwórz wariant części" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "Masz włączone powiadomienia dla tej części" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "Masz włączone powiadomienia dla tej części" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "Włącz powiadomienia dla tej części" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "Zostałeś wypisany z powiadomień dla tej części" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "Obserwowane części" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "Nie znaleziono wariantów" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "Nie znaleziono części" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "Brak kategorii" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "Wyświetl jako listę" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "Wyświetl jako siatkę" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "Ustaw kategorię części" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "Wyświetl jako drzewo" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "Obserwowana kategoria" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "Nie znaleziono informacji o ${human_name}" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "Edytuj ${human_name}" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "Usuń ${human_name}" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "Cena jednostkowa" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "Edytuj ${human_name}" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "Usuń ${human_name}" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9858,364 +10180,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "Czy na pewno chcesz skasować tą lokację?" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "Czy na pewno chcesz usunąć tą część?" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "Przenieś" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "Weź" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "Dodaj stan" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "Dodaj" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "Usuń stan magazynowy" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "BRAK WYNIKÓW" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "Dodaj wynik testu" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "W produkcji" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "Kod statusu musi być wybrany" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "Szczegóły" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "Lokalizacja już nie istnieje" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "Zamówienie zakupu już nie istnieje" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "Klient już nie istnieje" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "Element magazynowy już nie istnieje" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "Dodano" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "Usunięto" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10239,215 +10561,220 @@ msgstr "Zatwierdzone" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "Uwzględnij podlokalizacje" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "Obesrwowane" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "Numer seryjny" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "Kod partii" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "Aktywne części" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "Część jest zespołem" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "Jest przydzielony" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "Przedmiot został przydzielony" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "W produkcji" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "Obejmuje warianty" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "Zainstalowane" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "Posiada cenę zakupu" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "Test pomyślny" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "Przypisane do mnie" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "Status zamówienia" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "Pokaż aktywne części" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "Posiada IPN" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "Część posiada wewnętrzny numer części" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "Możliwość zakupu" @@ -10557,6 +10884,10 @@ msgstr "Zapisz" msgid "Show all notifications and history" msgstr "Pokaż wszystkie powiadomienia i historię" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "Dane QR nie zostały dostarczone" @@ -10741,35 +11072,35 @@ msgstr "Uprawnienia" msgid "Important dates" msgstr "Ważne daty" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "Uprawnienia nadane" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "Grupa" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "Widok" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "Uprawnienie do wyświetlania przedmiotów" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "Uprawnienie do dodawania przedmiotów" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "Zmień" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "Uprawnienie do edycji przedmiotów" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index 54b3873369..8e7b1d7ba9 100644 --- a/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:02\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:50\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "API endpoint não encontrado" @@ -25,27 +25,27 @@ msgstr "API endpoint não encontrado" msgid "Error details can be found in the admin panel" msgstr "Detalhes do erro podem ser encontrados no painel de administrador" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "Insira uma Data" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "Anotações" @@ -112,79 +112,79 @@ msgstr "Tamanho da imagem muito grande" #: InvenTree/helpers.py:187 msgid "Image download exceeded maximum size" -msgstr "" +msgstr "O download da imagem excedeu o tamanho máximo" #: InvenTree/helpers.py:192 msgid "Remote server returned empty response" -msgstr "" +msgstr "O servidor remoto retornou resposta vazia" #: InvenTree/helpers.py:200 msgid "Supplied URL is not a valid image file" -msgstr "" +msgstr "A URL fornecida não é um arquivo de imagem válido" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "Quantidade invalida" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "Numero serial em branco" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" -msgstr "" +msgstr "Número de série duplicado" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Numero de grupo invalido:{g}" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" -msgstr "" +msgstr "Intervalo de grupos {g} excede a quantidade permitida ({q})" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Sequencia de grupo invalida:{g}" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "Nenhum numero serial encontrado" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Numero de numeros seriais ({s}) precisa bater com quantidade ({q})" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" -msgstr "" +msgstr "Remova as \"tags\" HTML deste valor" #: InvenTree/models.py:238 msgid "Improperly formatted pattern" -msgstr "" +msgstr "Padrão formatado incorretamente" #: InvenTree/models.py:245 msgid "Unknown format key specified" -msgstr "" +msgstr "Chave de formato desconhecida especificada" #: InvenTree/models.py:251 msgid "Missing required format key" -msgstr "" +msgstr "Chave de formato obrigatória ausente" #: InvenTree/models.py:263 msgid "Reference field cannot be empty" -msgstr "" +msgstr "O campo de referência não pode ficar vazio" #: InvenTree/models.py:270 msgid "Reference must match required pattern" -msgstr "" +msgstr "A referência deve corresponder ao padrão exigido" #: InvenTree/models.py:306 msgid "Reference number is too large" -msgstr "" +msgstr "O número de referência é muito grande" #: InvenTree/models.py:384 msgid "Missing file" @@ -194,7 +194,7 @@ msgstr "Arquivo nao encontrado" msgid "Missing external link" msgstr "Link externo nao encontrado" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "Anexo" msgid "Select file to attach" msgstr "Selecione arquivo para anexar" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "Link" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "Link para URL externa" @@ -228,12 +229,12 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario sobre arquivo" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "Usuario" @@ -270,44 +271,45 @@ msgstr "Erro renomeando o arquivo" msgid "Invalid choice" msgstr "Escolha invalida" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "Nome" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "Descricao" @@ -320,29 +322,29 @@ msgid "parent" msgstr "parent" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" -msgstr "" +msgstr "Caminho" #: InvenTree/models.py:682 msgid "Barcode Data" -msgstr "" +msgstr "Dados de código de barras" #: InvenTree/models.py:683 msgid "Third party barcode data" -msgstr "" +msgstr "Dados de código de barras de terceiros" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" -msgstr "" +msgstr "Hash de código de barras" #: InvenTree/models.py:689 msgid "Unique hash of barcode data" -msgstr "" +msgstr "Hash exclusivo de dados de código de barras" #: InvenTree/models.py:734 msgid "Existing barcode found" -msgstr "" +msgstr "Código de barras existente encontrado" #: InvenTree/models.py:787 msgid "Server Error" @@ -352,187 +354,187 @@ msgstr "Erro de servidor" msgid "An error has been logged by the server." msgstr "Log de erro salvo pelo servidor." -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" -msgstr "" +msgstr "Nome do arquivo" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" -msgstr "" - -#: InvenTree/serializers.py:322 -msgid "Data File" -msgstr "" +msgstr "Valor inválido" #: InvenTree/serializers.py:323 +msgid "Data File" +msgstr "Arquivo de dados" + +#: InvenTree/serializers.py:324 msgid "Select data file for upload" -msgstr "" +msgstr "Selecione um arquivo de dados para enviar" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" -msgstr "" +msgstr "Tipo de arquivo não suportado" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" -msgstr "" +msgstr "O arquivo é muito grande" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" -msgstr "" +msgstr "Nenhuma coluna encontrada no arquivo" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" -msgstr "" +msgstr "Nenhuma linha de dados encontrada no arquivo" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" -msgstr "" +msgstr "Nenhuma linha de dados fornecida" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" -msgstr "" +msgstr "Nenhuma coluna de dados fornecida" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" -msgstr "" +msgstr "Falta a coluna obrigatória: '{name}'" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" -msgstr "" - -#: InvenTree/serializers.py:605 -#: templates/InvenTree/settings/mixins/urls.html:14 -msgid "URL" -msgstr "" +msgstr "Coluna duplicada: \"{col}\"" #: InvenTree/serializers.py:606 +#: templates/InvenTree/settings/mixins/urls.html:14 +msgid "URL" +msgstr "Endereço da URL" + +#: InvenTree/serializers.py:607 msgid "URL of remote image file" -msgstr "" +msgstr "URL do arquivo de imagem remoto" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" -msgstr "" - -#: InvenTree/settings.py:621 -msgid "Czech" -msgstr "" - -#: InvenTree/settings.py:622 -msgid "Danish" -msgstr "" - -#: InvenTree/settings.py:623 -msgid "German" -msgstr "" - -#: InvenTree/settings.py:624 -msgid "Greek" -msgstr "" - -#: InvenTree/settings.py:625 -msgid "English" -msgstr "" - -#: InvenTree/settings.py:626 -msgid "Spanish" -msgstr "" +msgstr "Baixar imagens de URL remota não está habilitado" #: InvenTree/settings.py:627 -msgid "Spanish (Mexican)" -msgstr "" +msgid "Czech" +msgstr "Tcheco" #: InvenTree/settings.py:628 -msgid "Farsi / Persian" -msgstr "" +msgid "Danish" +msgstr "Dinamarquês" #: InvenTree/settings.py:629 -msgid "French" -msgstr "" +msgid "German" +msgstr "Alemão" #: InvenTree/settings.py:630 -msgid "Hebrew" -msgstr "" +msgid "Greek" +msgstr "Grego" #: InvenTree/settings.py:631 -msgid "Hungarian" -msgstr "" +msgid "English" +msgstr "Inglês" #: InvenTree/settings.py:632 -msgid "Italian" -msgstr "" +msgid "Spanish" +msgstr "Espanhol" #: InvenTree/settings.py:633 -msgid "Japanese" -msgstr "" +msgid "Spanish (Mexican)" +msgstr "Espanhol (Mexicano)" #: InvenTree/settings.py:634 -msgid "Korean" -msgstr "" +msgid "Farsi / Persian" +msgstr "Persa" #: InvenTree/settings.py:635 -msgid "Dutch" -msgstr "" +msgid "French" +msgstr "Francês" #: InvenTree/settings.py:636 -msgid "Norwegian" -msgstr "" +msgid "Hebrew" +msgstr "Hebraico" #: InvenTree/settings.py:637 -msgid "Polish" -msgstr "" +msgid "Hungarian" +msgstr "Húngaro" #: InvenTree/settings.py:638 +msgid "Italian" +msgstr "Italiano" + +#: InvenTree/settings.py:639 +msgid "Japanese" +msgstr "Japonês" + +#: InvenTree/settings.py:640 +msgid "Korean" +msgstr "Coreano" + +#: InvenTree/settings.py:641 +msgid "Dutch" +msgstr "Holandês" + +#: InvenTree/settings.py:642 +msgid "Norwegian" +msgstr "Norueguês" + +#: InvenTree/settings.py:643 +msgid "Polish" +msgstr "Polonês" + +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "" @@ -561,8 +563,8 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "" @@ -646,7 +648,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "" @@ -654,7 +656,7 @@ msgstr "" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "" @@ -746,7 +748,7 @@ msgstr "" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "" @@ -874,8 +877,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "" @@ -883,12 +886,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "" @@ -896,7 +899,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "" @@ -929,7 +932,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "" @@ -968,11 +971,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -994,18 +997,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "" @@ -1015,12 +1018,10 @@ msgstr "" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "" @@ -1087,10 +1092,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1102,9 +1107,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "" @@ -1120,7 +1125,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "" @@ -1213,7 +1219,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "" @@ -1229,8 +1235,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "" @@ -1246,11 +1252,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1267,7 +1273,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "" @@ -1401,29 +1407,29 @@ msgstr "" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "" @@ -1449,8 +1455,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "" @@ -1462,14 +1468,14 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "" @@ -1527,7 +1533,7 @@ msgstr "" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1617,7 +1623,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" @@ -1902,9 +1908,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "" @@ -1912,9 +1918,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "" @@ -1922,8 +1929,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "" @@ -1931,7 +1938,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "" @@ -1939,8 +1946,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "" @@ -1948,10 +1955,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "" @@ -1959,10 +1966,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2816,298 +2869,301 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "" @@ -3162,14 +3218,14 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "" @@ -3203,7 +3259,7 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "" @@ -3232,7 +3288,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "" @@ -3246,7 +3302,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,7 +4185,8 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" msgstr "" #: order/templates/order/order_base.html:65 @@ -4162,7 +4194,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "" + +#: part/admin.py:21 +msgid "Part Description" +msgstr "" + +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "" + +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" + +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" + +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" + +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "" + +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "" + +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 +#: templates/js/translated/table_filters.js:68 +msgid "On Order" +msgstr "" + +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "" + +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "" + +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "" + +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" + +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:23 part/templates/part/category.html:134 +#: part/templates/part/category.html:154 +#: part/templates/part/category_sidebar.html:9 +#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 +#: templates/InvenTree/settings/sidebar.html:41 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 +#: templates/navbar.html:24 users/models.py:38 +msgid "Parts" +msgstr "" + +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:536 +#: part/api.py:552 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:554 +#: part/api.py:570 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:640 +#: part/api.py:656 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:777 +#: part/api.py:814 msgid "Valid" msgstr "" -#: part/api.py:778 +#: part/api.py:815 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:784 +#: part/api.py:821 msgid "This option must be selected" msgstr "" -#: part/api.py:1207 +#: part/api.py:1261 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1211 +#: part/api.py:1265 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1226 +#: part/api.py:1280 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 msgid "This field is required" msgstr "" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 msgid "Default Location" msgstr "" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 +#: part/bom.py:143 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 msgid "Available Stock" msgstr "" -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 -#: templates/js/translated/table_filters.js:68 -msgid "On Order" -msgstr "" - #: part/forms.py:41 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:99 +#: part/models.py:117 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:85 +#: part/models.py:125 stock/models.py:101 msgid "Icon" msgstr "" -#: part/models.py:108 stock/models.py:86 +#: part/models.py:126 stock/models.py:102 msgid "Icon (optional)" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 +#: part/models.py:141 part/templates/part/category.html:129 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 -#: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 -#: templates/navbar.html:24 users/models.py:38 -msgid "Parts" -msgstr "" - -#: part/models.py:429 +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "" msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "" msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -10738,35 +11069,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po index e1137de156..711d21a7bb 100644 --- a/InvenTree/locale/pt_br/LC_MESSAGES/django.po +++ b/InvenTree/locale/pt_br/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-03 11:22+0000\n" +"POT-Creation-Date: 2022-11-07 02:58+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -43,9 +43,9 @@ msgstr "" #: stock/templates/stock/stock_sidebar.html:25 #: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 #: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 +#: templates/js/translated/order.js:2409 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:4014 +#: templates/js/translated/order.js:4413 templates/js/translated/stock.js:1374 #: templates/js/translated/stock.js:1982 msgid "Notes" msgstr "" @@ -211,7 +211,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:164 #: templates/js/translated/company.js:691 #: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1569 msgid "Link" msgstr "" @@ -229,10 +229,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:260 plugin/models.py:261 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1758 +#: common/models.py:1759 common/models.py:1982 common/models.py:1983 +#: common/models.py:2245 common/models.py:2246 part/models.py:2254 +#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 #: templates/js/translated/stock.js:2651 msgid "User" @@ -271,14 +271,14 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1968 #: company/models.py:359 label/models.py:101 part/models.py:760 #: part/models.py:2429 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 -#: templates/InvenTree/settings/plugin.html:51 -#: templates/InvenTree/settings/plugin.html:134 +#: templates/InvenTree/settings/plugin.html:60 +#: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 -#: templates/InvenTree/settings/settings.html:347 +#: templates/InvenTree/settings/settings.html:344 #: templates/js/translated/company.js:580 #: templates/js/translated/company.js:793 #: templates/js/translated/notification.js:71 @@ -298,13 +298,13 @@ msgstr "" #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 #: stock/templates/stock/location.html:117 -#: templates/InvenTree/settings/plugin_settings.html:33 -#: templates/InvenTree/settings/settings.html:358 +#: templates/InvenTree/settings/plugin_settings.html:28 +#: templates/InvenTree/settings/settings.html:355 #: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 #: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 #: templates/js/translated/company.js:702 #: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 +#: templates/js/translated/order.js:2225 templates/js/translated/order.js:2837 #: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 #: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 #: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 @@ -563,7 +563,7 @@ msgid "Returned" msgstr "" #: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3989 msgid "Shipped" msgstr "" @@ -747,7 +747,7 @@ msgstr "" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -766,9 +766,9 @@ msgstr "" #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 #: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2256 +#: templates/js/translated/order.js:2490 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4342 msgid "Reference" msgstr "" @@ -812,8 +812,8 @@ msgstr "" #: templates/js/translated/company.js:643 #: templates/js/translated/company.js:904 templates/js/translated/order.js:106 #: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 +#: templates/js/translated/order.js:2210 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 #: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 #: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 #: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 @@ -835,7 +835,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "" @@ -885,7 +885,7 @@ msgid "Batch code for this build output" msgstr "" #: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "" @@ -1002,9 +1002,9 @@ msgstr "" #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 #: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 #: templates/js/translated/stock.js:2587 msgid "Stock Item" @@ -1016,7 +1016,7 @@ msgstr "" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 +#: build/templates/build/detail.html:34 common/models.py:1790 #: company/templates/company/supplier_part.html:341 order/models.py:911 #: order/models.py:1437 order/serializers.py:1213 #: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 @@ -1039,10 +1039,10 @@ msgstr "" #: templates/js/translated/build.js:2197 #: templates/js/translated/model_renderers.js:120 #: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 +#: templates/js/translated/order.js:2262 templates/js/translated/order.js:2496 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4348 #: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 #: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 #: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 @@ -1136,8 +1136,8 @@ msgstr "" #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 #: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 #: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 #: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 #: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 @@ -1153,7 +1153,7 @@ msgstr "" #: order/serializers.py:482 stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 #: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1831 #: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 msgid "Status" msgstr "" @@ -1388,8 +1388,8 @@ msgstr "" #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/order.js:2356 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3902 templates/js/translated/part.js:1051 msgid "Target Date" msgstr "" @@ -1424,7 +1424,7 @@ msgstr "" #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 msgid "Sales Order" msgstr "" @@ -1451,7 +1451,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2398 msgid "Destination" msgstr "" @@ -1598,8 +1598,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 #: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 @@ -2200,500 +2200,516 @@ msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1263 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1264 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1270 +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1271 -msgid "Enable password forgot" +msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1272 -msgid "Enable password forgot function on the login pages" +#: common/models.py:1277 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1278 -msgid "Enable registration" -msgstr "" - -#: common/models.py:1279 -msgid "Enable self-registration for users on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1285 -msgid "Enable SSO" +msgid "Enable password forgot" msgstr "" #: common/models.py:1286 -msgid "Enable SSO on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1292 -msgid "Email required" +msgid "Enable registration" msgstr "" #: common/models.py:1293 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1299 -msgid "Auto-fill SSO users" +msgid "Enable SSO" msgstr "" #: common/models.py:1300 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1306 -msgid "Mail twice" +msgid "Email required" msgstr "" #: common/models.py:1307 -msgid "On signup ask users twice for their mail" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1313 -msgid "Password twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1314 -msgid "On signup ask users twice for their password" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1320 -msgid "Group on signup" +msgid "Mail twice" msgstr "" #: common/models.py:1321 -msgid "Group to which new users are assigned on registration" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1327 -msgid "Enforce MFA" +msgid "Password twice" msgstr "" #: common/models.py:1328 -msgid "Users must use multifactor security." +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1334 -msgid "Check plugins on startup" +msgid "Group on signup" msgstr "" #: common/models.py:1335 -msgid "Check that all plugins are installed on startup - enable in container enviroments" +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1341 +msgid "Enforce MFA" msgstr "" #: common/models.py:1342 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1348 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1349 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1356 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1357 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1364 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1365 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1372 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1373 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1380 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1381 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1388 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1389 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1396 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1397 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1416 common/models.py:1751 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1438 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1439 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1445 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1446 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1452 msgid "Show latest parts" msgstr "" -#: common/models.py:1439 +#: common/models.py:1453 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1445 +#: common/models.py:1459 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1460 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1466 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1467 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1473 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1474 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1480 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1481 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1487 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1488 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1494 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1495 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1501 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1502 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1508 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1509 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1515 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1516 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1522 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1523 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1529 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1530 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1536 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1537 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1543 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1544 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1550 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1551 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1557 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1558 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1564 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1565 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1571 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1572 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1578 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1579 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1585 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1586 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1592 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1593 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1599 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1600 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1606 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1607 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1613 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1614 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1620 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1621 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1627 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1628 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1634 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1635 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1641 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1642 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1648 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1649 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1655 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1656 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1662 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1663 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1669 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1670 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1676 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1677 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1683 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1684 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1690 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1691 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1697 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1698 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1704 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1705 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1719 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1720 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1726 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1727 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1791 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 +#: common/models.py:1798 company/serializers.py:372 #: company/templates/company/supplier_part.html:346 order/models.py:952 #: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 msgid "Price" msgstr "" -#: common/models.py:1785 +#: common/models.py:1799 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1959 common/models.py:2137 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1960 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1969 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 +#: common/models.py:1974 part/models.py:935 plugin/models.py:100 #: templates/js/translated/table_filters.js:34 #: templates/js/translated/table_filters.js:112 #: templates/js/translated/table_filters.js:324 @@ -2701,67 +2717,67 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1975 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1989 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1990 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1997 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1998 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2104 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2105 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2113 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2114 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2121 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2122 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2128 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2129 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2138 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2143 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2144 msgid "Was the work on this message finished?" msgstr "" @@ -2786,7 +2802,7 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 #: order/views.py:102 part/views.py:112 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" @@ -2945,7 +2961,7 @@ msgstr "" #: templates/js/translated/company.js:304 #: templates/js/translated/company.js:532 #: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 +#: templates/js/translated/company.js:975 templates/js/translated/order.js:2244 #: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 msgid "MPN" msgstr "" @@ -2987,7 +3003,7 @@ msgstr "" #: company/models.py:373 part/models.py:902 part/models.py:2434 #: part/templates/part/part_base.html:286 -#: templates/InvenTree/settings/settings.html:352 +#: templates/InvenTree/settings/settings.html:349 #: templates/js/translated/company.js:805 templates/js/translated/part.js:853 msgid "Units" msgstr "" @@ -3019,7 +3035,7 @@ msgstr "" #: company/models.py:499 company/templates/company/supplier_part.html:146 #: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 +#: templates/js/translated/order.js:2231 templates/js/translated/part.js:228 #: templates/js/translated/part.js:1011 msgid "SKU" msgstr "" @@ -3069,7 +3085,7 @@ msgstr "" #: company/templates/company/supplier_part.html:174 #: templates/js/translated/company.js:996 templates/js/translated/order.js:820 #: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 +#: templates/js/translated/order.js:2275 templates/js/translated/order.js:2292 #: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 msgid "Pack Quantity" msgstr "" @@ -3168,7 +3184,7 @@ msgstr "" #: stock/models.py:646 stock/serializers.py:813 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 +#: templates/js/translated/company.js:428 templates/js/translated/order.js:2819 #: templates/js/translated/stock.js:2569 #: templates/js/translated/table_filters.js:435 msgid "Customer" @@ -3763,7 +3779,7 @@ msgid "Target date for order completion. Order will be overdue after this date." msgstr "" #: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" @@ -3825,7 +3841,7 @@ msgstr "" #: order/models.py:997 order/models.py:1077 order/models.py:1118 #: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" @@ -3846,7 +3862,7 @@ msgid "Supplier part" msgstr "" #: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 +#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2378 #: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 #: templates/js/translated/table_filters.js:346 msgid "Received" @@ -4163,7 +4179,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4250,7 +4266,7 @@ msgstr "" #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 #: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:625 #: templates/js/translated/stock.js:793 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -4279,42 +4295,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4346,12 +4362,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4360,22 +4376,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 +#: order/templates/order/sales_order_detail.html:77 #: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4455,7 +4471,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: templates/js/translated/order.js:3928 msgid "Available Stock" msgstr "" @@ -4565,7 +4581,7 @@ msgstr "" #: part/models.py:797 part/models.py:2272 part/models.py:2516 #: part/templates/part/part_base.html:263 -#: templates/InvenTree/settings/settings.html:232 +#: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 #: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 msgid "Category" @@ -4753,7 +4769,7 @@ msgid "Parent Part" msgstr "" #: part/models.py:2474 part/models.py:2522 part/models.py:2523 -#: templates/InvenTree/settings/settings.html:227 +#: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" @@ -4765,7 +4781,7 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:236 +#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" @@ -5572,7 +5588,7 @@ msgstr "" #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:97 -#: templates/InvenTree/settings/plugin.html:53 +#: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 #: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 msgid "Date" @@ -5760,8 +5776,8 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:56 -msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details." +#: plugin/apps.py:55 +msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." msgstr "" #: plugin/base/action/api.py:27 @@ -5772,23 +5788,23 @@ msgstr "" msgid "No matching action found" msgstr "" -#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:113 +#: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 msgid "Missing barcode data" msgstr "" -#: plugin/base/barcodes/api.py:83 +#: plugin/base/barcodes/api.py:80 msgid "No match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:87 +#: plugin/base/barcodes/api.py:84 msgid "Match found for barcode data" msgstr "" -#: plugin/base/barcodes/api.py:126 +#: plugin/base/barcodes/api.py:120 msgid "Barcode matches existing item" msgstr "" -#: plugin/base/barcodes/api.py:223 +#: plugin/base/barcodes/api.py:217 msgid "No match found for provided value" msgstr "" @@ -5796,21 +5812,34 @@ msgstr "" msgid "Label printing failed" msgstr "" -#: plugin/builtin/integration/core_notifications.py:30 +#: plugin/builtin/barcodes/inventree_barcode.py:26 +msgid "Inventree Barcodes" +msgstr "" + +#: plugin/builtin/barcodes/inventree_barcode.py:27 +msgid "Provides native support for barcodes" +msgstr "" + +#: plugin/builtin/barcodes/inventree_barcode.py:29 +#: plugin/builtin/integration/core_notifications.py:31 msgid "InvenTree contributors" msgstr "" -#: plugin/builtin/integration/core_notifications.py:31 +#: plugin/builtin/integration/core_notifications.py:30 +msgid "InvenTree Notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:32 msgid "Integrated outgoing notificaton methods" msgstr "" -#: plugin/builtin/integration/core_notifications.py:35 -#: plugin/builtin/integration/core_notifications.py:54 +#: plugin/builtin/integration/core_notifications.py:37 +#: plugin/builtin/integration/core_notifications.py:56 msgid "Enable email notifications" msgstr "" -#: plugin/builtin/integration/core_notifications.py:36 -#: plugin/builtin/integration/core_notifications.py:55 +#: plugin/builtin/integration/core_notifications.py:38 +#: plugin/builtin/integration/core_notifications.py:57 msgid "Allow sending of emails for event notifications" msgstr "" @@ -5830,7 +5859,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:86 +#: plugin/models.py:86 templates/InvenTree/settings/plugin.html:61 msgid "Key" msgstr "" @@ -5850,32 +5879,36 @@ msgstr "" msgid "Sample plugin" msgstr "" -#: plugin/models.py:188 templates/InvenTree/settings/plugin_settings.html:10 +#: plugin/models.py:167 +msgid "Builtin Plugin" +msgstr "" + +#: plugin/models.py:192 templates/InvenTree/settings/plugin_settings.html:10 msgid "Plugin" msgstr "" -#: plugin/models.py:253 +#: plugin/models.py:257 msgid "Method" msgstr "" -#: plugin/plugin.py:252 +#: plugin/plugin.py:257 msgid "No author found" msgstr "" -#: plugin/plugin.py:264 +#: plugin/plugin.py:269 msgid "No date found" msgstr "" -#: plugin/registry.py:431 +#: plugin/registry.py:439 msgid "Plugin `{plg_name}` is not compatible with the current InvenTree version {version.inventreeVersion()}!" msgstr "" -#: plugin/registry.py:433 +#: plugin/registry.py:441 #, python-brace-format msgid "Plugin requires at least version {plg_i.MIN_VERSION}" msgstr "" -#: plugin/registry.py:435 +#: plugin/registry.py:443 #, python-brace-format msgid "Plugin requires at most version {plg_i.MAX_VERSION}" msgstr "" @@ -6058,8 +6091,8 @@ msgstr "" #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:490 msgid "Serial Number" msgstr "" @@ -7087,7 +7120,7 @@ msgid "Part Parameter Templates" msgstr "" #: templates/InvenTree/settings/plugin.html:10 -#: templates/InvenTree/settings/sidebar.html:56 +#: templates/InvenTree/settings/sidebar.html:55 msgid "Plugin Settings" msgstr "" @@ -7095,52 +7128,64 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 -#: templates/InvenTree/settings/sidebar.html:58 +#: templates/InvenTree/settings/plugin.html:38 +#: templates/InvenTree/settings/sidebar.html:57 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:41 +#: templates/InvenTree/settings/plugin.html:44 #: templates/js/translated/plugin.js:16 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:50 templates/navbar.html:137 -#: users/models.py:36 -msgid "Admin" +#: templates/InvenTree/settings/plugin.html:52 +msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:52 -#: templates/InvenTree/settings/plugin_settings.html:28 +#: templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 msgid "Author" msgstr "" -#: templates/InvenTree/settings/plugin.html:54 +#: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" msgstr "" -#: templates/InvenTree/settings/plugin.html:76 -msgid "Sample" +#: templates/InvenTree/settings/plugin.html:72 +msgid "Active plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:80 msgid "Inactive plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:124 +#: templates/InvenTree/settings/plugin.html:94 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:133 +#: templates/InvenTree/settings/plugin.html:103 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:135 +#: templates/InvenTree/settings/plugin.html:105 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" +#: templates/InvenTree/settings/plugin_details.html:32 +#: templates/InvenTree/settings/plugin_settings.html:101 +msgid "Builtin" +msgstr "" + +#: templates/InvenTree/settings/plugin_details.html:38 +msgid "Sample" +msgstr "" + +#: templates/InvenTree/settings/plugin_details.html:47 +msgid "Unvailable" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:17 msgid "Plugin information" msgstr "" @@ -7177,29 +7222,33 @@ msgstr "" msgid "Installation path" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/InvenTree/settings/plugin_settings.html:102 +msgid "This is a builtin plugin which cannot be disabled" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:107 msgid "Commit Author" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:104 +#: templates/InvenTree/settings/plugin_settings.html:111 #: templates/about.html:36 msgid "Commit Date" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:108 +#: templates/InvenTree/settings/plugin_settings.html:115 #: templates/about.html:29 msgid "Commit Hash" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:112 +#: templates/InvenTree/settings/plugin_settings.html:119 msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:120 +#: templates/InvenTree/settings/plugin_settings.html:127 msgid "Sign Status" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:125 +#: templates/InvenTree/settings/plugin_settings.html:132 msgid "Sign Key" msgstr "" @@ -7220,66 +7269,66 @@ msgstr "" msgid "Edit setting" msgstr "" -#: templates/InvenTree/settings/settings.html:120 +#: templates/InvenTree/settings/settings.html:117 msgid "Edit Plugin Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:122 +#: templates/InvenTree/settings/settings.html:119 msgid "Edit Notification Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:125 +#: templates/InvenTree/settings/settings.html:122 msgid "Edit Global Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:127 +#: templates/InvenTree/settings/settings.html:124 msgid "Edit User Setting" msgstr "" -#: templates/InvenTree/settings/settings.html:217 +#: templates/InvenTree/settings/settings.html:214 msgid "No category parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:239 -#: templates/InvenTree/settings/settings.html:364 +#: templates/InvenTree/settings/settings.html:236 +#: templates/InvenTree/settings/settings.html:361 msgid "Edit Template" msgstr "" -#: templates/InvenTree/settings/settings.html:240 -#: templates/InvenTree/settings/settings.html:365 +#: templates/InvenTree/settings/settings.html:237 +#: templates/InvenTree/settings/settings.html:362 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:280 +#: templates/InvenTree/settings/settings.html:277 msgid "Create Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:325 +#: templates/InvenTree/settings/settings.html:322 msgid "Delete Category Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:337 +#: templates/InvenTree/settings/settings.html:334 msgid "No part parameter templates found" msgstr "" -#: templates/InvenTree/settings/settings.html:341 +#: templates/InvenTree/settings/settings.html:338 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" -#: templates/InvenTree/settings/settings.html:383 +#: templates/InvenTree/settings/settings.html:380 msgid "Create Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:402 +#: templates/InvenTree/settings/settings.html:399 msgid "Edit Part Parameter Template" msgstr "" -#: templates/InvenTree/settings/settings.html:416 +#: templates/InvenTree/settings/settings.html:413 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/InvenTree/settings/settings.html:424 +#: templates/InvenTree/settings/settings.html:421 msgid "Delete Part Parameter Template" msgstr "" @@ -7737,7 +7786,7 @@ msgstr "" msgid "Or use a SSO-provider for signup" msgstr "" -#: templates/admin_button.html:2 +#: templates/admin_button.html:8 msgid "View in administration panel" msgstr "" @@ -8212,7 +8261,7 @@ msgid "Variant stock allowed" msgstr "" #: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 +#: templates/js/translated/order.js:3942 msgid "No Stock Available" msgstr "" @@ -8425,12 +8474,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8450,20 +8499,20 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3949 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3947 msgid "Sufficient stock available" msgstr "" #: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 +#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3961 msgid "Allocated" msgstr "" -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4041 msgid "Build stock" msgstr "" @@ -8471,21 +8520,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4034 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8497,7 +8546,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8505,11 +8554,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -9158,218 +9207,218 @@ msgstr "" msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2120 templates/js/translated/order.js:4093 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2137 templates/js/translated/order.js:4115 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2150 templates/js/translated/order.js:4126 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2193 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2220 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 +#: templates/js/translated/order.js:2275 templates/js/translated/part.js:1043 #: templates/js/translated/part.js:1095 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 +#: templates/js/translated/order.js:2306 templates/js/translated/order.js:2509 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4361 #: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2321 templates/js/translated/order.js:2525 +#: templates/js/translated/order.js:3868 templates/js/translated/order.js:4377 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 +#: templates/js/translated/order.js:2362 templates/js/translated/order.js:3910 #: templates/js/translated/part.js:1079 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2421 templates/js/translated/part.js:1130 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2425 templates/js/translated/order.js:4047 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2426 templates/js/translated/order.js:4048 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:4052 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4425 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4426 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4427 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4456 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4477 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4488 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 #: templates/js/translated/stock.js:1602 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4031 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4037 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4044 templates/js/translated/order.js:4242 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4056 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4059 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4141 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4250 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4264 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4499 msgid "No matching lines" msgstr "" @@ -10508,6 +10557,10 @@ msgstr "" msgid "New Notifications" msgstr "" +#: templates/navbar.html:137 users/models.py:36 +msgid "Admin" +msgstr "" + #: templates/navbar.html:140 msgid "Logout" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index 0faaacb545..d47349dbbe 100644 --- a/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:02\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:51\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "Конечная точка API не обнаружена" @@ -25,27 +25,27 @@ msgstr "Конечная точка API не обнаружена" msgid "Error details can be found in the admin panel" msgstr "Подробности об ошибке можно найти в панели администратора" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "Введите дату" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "Заметки" @@ -122,43 +122,43 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "недопустимое количество" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "Пустая строка серийного номера" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "Серийных номеров не найдено" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "" @@ -194,7 +194,7 @@ msgstr "Файл не найден" msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "Вложения" msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "Ссылка" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "Ссылка на внешний URL" @@ -228,12 +229,12 @@ msgstr "Комментарий" msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "Пользователь" @@ -270,44 +271,45 @@ msgstr "Ошибка переименования файла" msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "Название" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "Описание" @@ -320,7 +322,7 @@ msgid "parent" msgstr "родитель" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "Путь" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "" @@ -352,187 +354,187 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "Имя файла" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "Неверное значение" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "Файл данных" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "Выберите файл данных для загрузки" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "Неподдерживаемый тип файла" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "Файл слишком большой" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "Столбцы в файле не найдены" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "Строки данных в файле не найдены" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Повторяющийся столбец: '{col}'" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "Ссылка" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "Немецкий" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "Греческий" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "Английский" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "Испанский" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "Испанский (Мексика)" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "Французский" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "Иврит" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "Венгерский" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "Итальянский" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "Японский" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "Корейский" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "Голландский" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "Норвежский" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "Польский" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "Русский" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "Шведский" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "Тайский" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "Турецкий" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "Вьетнамский" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "Китайский" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "Проверка фонового работника не удалась" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "Сервер электронной почты не настроен" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "Ошибка проверки состояния системы InvenTree" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "Ожидаемый" @@ -561,8 +563,8 @@ msgstr "Потерян" msgid "Returned" msgstr "Возвращено" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "Доставлено" @@ -646,7 +648,7 @@ msgstr "Отделить от родительского элемента" msgid "Split child item" msgstr "Разбить дочерний элемент" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "Объединенные позиции на складе" @@ -654,7 +656,7 @@ msgstr "Объединенные позиции на складе" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "Отправлено клиенту" @@ -746,7 +748,7 @@ msgstr "Порядок сборки" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "Порядок сборки" msgid "Build Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "Отсылка" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "Детали" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "Расположение источника" @@ -874,8 +877,8 @@ msgstr "Статус сборки" msgid "Build status code" msgstr "Код статуса сборки" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "Код партии" @@ -883,12 +886,12 @@ msgstr "Код партии" msgid "Batch code for this build output" msgstr "Код партии для этого вывода сборки" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "Дата создания" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "Целевая дата завершения" @@ -896,7 +899,7 @@ msgstr "Целевая дата завершения" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты." -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "Дата завершения" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "Пользователь, выпустивший этот заказ на сборку" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "Ответственный" @@ -929,7 +932,7 @@ msgstr "Пользователь, ответственный за этот за #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "Внешняя ссылка" @@ -968,11 +971,11 @@ msgstr "Элемент сборки должен указать вывод сб msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "Предмет на складе перераспределен" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "Выделенное количество должно быть больше нуля" @@ -994,18 +997,18 @@ msgstr "Сборка" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "Предметы на складе" @@ -1015,12 +1018,10 @@ msgstr "Исходный складской предмет" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "Исходный складской предмет" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "Количество" @@ -1087,10 +1092,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "Введите количество для вывода сборки" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" @@ -1102,9 +1107,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "Серийные номера" @@ -1120,7 +1125,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "Расположение" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "Статус" @@ -1213,7 +1219,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "" @@ -1229,8 +1235,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "BOM Компонент" @@ -1246,11 +1252,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "Компонент должен быть в наличии" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" @@ -1267,7 +1273,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "Целевая дата" @@ -1401,29 +1407,29 @@ msgstr "" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "Просрочено" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "Завершённые" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "Заказ покупателя" @@ -1449,8 +1455,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "Назначение" @@ -1462,14 +1468,14 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "Партия" @@ -1527,7 +1533,7 @@ msgstr "" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "Заказать детали" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Приложения" @@ -1617,7 +1623,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "Новый заказ на сборку" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Название компании" @@ -1902,9 +1908,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "Шаблон" @@ -1912,9 +1918,10 @@ msgstr "Шаблон" msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "Сборка" @@ -1922,8 +1929,8 @@ msgstr "Сборка" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "Компонент" @@ -1931,7 +1938,7 @@ msgstr "Компонент" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "" @@ -1939,8 +1946,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "Можно продавать" @@ -1948,10 +1955,10 @@ msgstr "Можно продавать" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "Отслеживание" @@ -1959,10 +1966,10 @@ msgstr "Отслеживание" msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "Показывать цену в формах" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "Показывать цену в BOM" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "Показывать историю цены" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "Показывать связанные детали" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "Режим отладки" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "Режим отладки" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "Показывать непроверенные BOMы" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "Показывать закончившиеся детали" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся на складе единицы хранения на главной странице" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "Показывать требуемые детали" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для сборки единицы хранения на главной странице" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "Показывать просрочку" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "Показывать залежалые" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "Показывать залежалые единицы хранения на главной странице" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "Показывать незавершённые сборки" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые сборки на главной странице" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "Показывать просроченные сборки" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные сборки на главной странице" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "Цена" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Загрузить файл" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2816,298 +2869,301 @@ msgstr "Детали импортированы" msgid "Previous Step" msgstr "Предыдущий шаг" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "Описание компании" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "Описание компании" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "Сайт" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "Сайт компании" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "Адрес" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "Адрес компании" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "Телефон" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "Контактный телефон" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "EMail" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "Контактный EMail" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "Контакт" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "Контактное лицо" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "Ссылка на описание компании" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "Изображение" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "Заметки о компании" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "покупатель" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "Вы продаёте детали этой компании?" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "поставщик" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "Вы закупаете детали у этой компании?" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "производитель" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "Является ли компания производителем деталей?" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "Валюта" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "Для этой компании используется валюта по умолчанию" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "Базовая деталь" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "Выберите деталь" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "Производитель" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "Выберите производителя" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "Код производителя" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "Ссылка на сайт производителя" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "Деталь производителя" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "Наименование параметра" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "Значение" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "Значение параметра" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "Ед.изм" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "Единицы измерения" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "Поставщик" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "Код поставщика" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "Ссылка на сайт поставщика" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "Заметка" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "Упаковка" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "Код валюты" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "Компания" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "Редактировать информацию о компании" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "Редактировать компанию" @@ -3162,14 +3218,14 @@ msgstr "Загрузить новое изображение" msgid "Download image from URL" msgstr "Скачать изображение по ссылке" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "Покупатель" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "Телефон" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "Загрузить изображение" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "Скачать изображение" @@ -3203,7 +3259,7 @@ msgstr "Создать новую деталь поставщика" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "Новая деталь поставщика" @@ -3232,7 +3288,7 @@ msgstr "Детали производителей" msgid "Create new manufacturer part" msgstr "Создать новую деталь производителя" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "Новая деталь производителя" @@ -3246,7 +3302,7 @@ msgstr "Склад поставщика" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "Новый заказ на закупку" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "Список поставщиков" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "Производители" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "Поставщики" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "Удалить деталь поставщика" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "Удалить" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Параметры" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "Новый параметр" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "Удалить параметры" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "Добавить параметр" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "Деталь поставщика" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "Редактировать деталь поставщика" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "Создать единицу хранения" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "Новая единица хранения" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "Информация о цене" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "Последнее обновление" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "Склад" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "Детали на складе" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "Компания, в которой детали заказываются" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "Курс покупки валюты" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "Введите код партии для поступающих единиц хранения" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "Курс продажи валюты" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,7 +4185,8 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" msgstr "" #: order/templates/order/order_base.html:65 @@ -4162,7 +4194,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "Выберите деталь поставщика" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Удалить строку" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "Действия" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 -msgid "Incoming Purchase Order" +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "Артикул" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "Наименование детали" + +#: part/admin.py:21 +msgid "Part Description" msgstr "" -#: part/api.py:536 -msgid "Outgoing Sales Order" +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" msgstr "" -#: part/api.py:554 -msgid "Stock produced by Build Order" +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "Версия" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "Ключевые слова" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "Код категории" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" msgstr "" -#: part/api.py:640 -msgid "Stock required for Build Order" +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" msgstr "" -#: part/api.py:777 -msgid "Valid" +#: part/admin.py:31 +msgid "Default Supplier ID" msgstr "" -#: part/api.py:778 -msgid "Validate entire Bill of Materials" -msgstr "" +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "Минимальный запас" -#: part/api.py:784 -msgid "This option must be selected" -msgstr "" +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "На складе" -#: part/api.py:1207 -msgid "Must be greater than zero" -msgstr "" - -#: part/api.py:1211 -msgid "Must be a valid quantity" -msgstr "" - -#: part/api.py:1226 -msgid "Specify location for initial part stock" -msgstr "" - -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 -msgid "This field is required" -msgstr "" - -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 -msgid "Default Location" -msgstr "Место хранения по умолчанию" - -#: part/bom.py:128 templates/email/low_stock_notification.html:17 -msgid "Total Stock" -msgstr "" - -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 -msgid "Available Stock" -msgstr "Доступный запас" - -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/forms.py:41 -msgid "Input quantity for price calculation" +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "Сборки" + +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" msgstr "" -#: part/models.py:99 -msgid "Default location for parts in this category" -msgstr "Место хранения по умолчанию для деталей этой категории" - -#: part/models.py:102 -msgid "Default keywords" -msgstr "Ключевые слова по умолчанию" - -#: part/models.py:102 -msgid "Default keywords for parts in this category" -msgstr "Ключевые слова по умолчанию для деталей этой категории" - -#: part/models.py:107 stock/models.py:85 -msgid "Icon" +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" msgstr "" -#: part/models.py:108 stock/models.py:86 -msgid "Icon (optional)" +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 -#: part/templates/part/part_app_base.html:10 -msgid "Part Category" -msgstr "Категория детали" - -#: part/models.py:123 part/templates/part/category.html:129 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 -#: users/models.py:37 -msgid "Part Categories" +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "Путь к категории" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:134 #: part/templates/part/category.html:154 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Детали" -#: part/models.py:429 +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "IPN" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 +msgid "Incoming Purchase Order" +msgstr "" + +#: part/api.py:552 +msgid "Outgoing Sales Order" +msgstr "" + +#: part/api.py:570 +msgid "Stock produced by Build Order" +msgstr "" + +#: part/api.py:656 +msgid "Stock required for Build Order" +msgstr "" + +#: part/api.py:814 +msgid "Valid" +msgstr "" + +#: part/api.py:815 +msgid "Validate entire Bill of Materials" +msgstr "" + +#: part/api.py:821 +msgid "This option must be selected" +msgstr "" + +#: part/api.py:1261 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:1265 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:1280 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 +msgid "This field is required" +msgstr "" + +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 +msgid "Default Location" +msgstr "Место хранения по умолчанию" + +#: part/bom.py:143 templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 +msgid "Available Stock" +msgstr "Доступный запас" + +#: part/forms.py:41 +msgid "Input quantity for price calculation" +msgstr "" + +#: part/models.py:117 +msgid "Default location for parts in this category" +msgstr "Место хранения по умолчанию для деталей этой категории" + +#: part/models.py:120 +msgid "Default keywords" +msgstr "Ключевые слова по умолчанию" + +#: part/models.py:120 +msgid "Default keywords for parts in this category" +msgstr "Ключевые слова по умолчанию для деталей этой категории" + +#: part/models.py:125 stock/models.py:101 +msgid "Icon" +msgstr "" + +#: part/models.py:126 stock/models.py:102 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 +#: part/templates/part/part_app_base.html:10 +msgid "Part Category" +msgstr "Категория детали" + +#: part/models.py:141 part/templates/part/category.html:129 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: users/models.py:37 +msgid "Part Categories" +msgstr "" + +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном для других деталей?" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "Разновидность" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "Описание детали" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "Ключевые слова" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "Категория" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "Категория" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "Внутренний код детали" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "Версия детали" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "Версия" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "Минимальный запас" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "Эта деталь актуальна?" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "Артикул или наименование детали" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "Артикул" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "Наименование детали" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "IPN" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "Валюта покупки этой единицы хранения" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "Действия с BOM" @@ -5070,10 +5329,6 @@ msgstr "Удалить категорию" msgid "Delete Category" msgstr "Удалить категорию" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "Путь к категории" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "Детали (включая подкатегории)" msgid "Create new part" msgstr "Создать новую деталь" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "Новая деталь" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "Настройки" @@ -5144,7 +5399,7 @@ msgstr "Деталь создана успешно" msgid "Import Parts" msgstr "Импортировать детали" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "Дублировать деталь" @@ -5176,7 +5431,8 @@ msgstr "Наличие на складе" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "Обновить" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "Разновидности детали" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "Создать новую разновидность" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "Новая разновидность" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "Спецификация" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "Экспорт" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "Экспорт BOM" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "Сборки" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "Поставщики" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "Эта деталь является разновидностью %(link)s" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "На складе" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "Минимальный складской запас" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "Подходящие изображения не найдены" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "Внутренняя цена" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "Разновидности" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "Сборки" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" -msgstr "Показать закупочную цену" - -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" +msgstr "" + +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "" @@ -5722,40 +5948,36 @@ msgstr "Создать новую разновидность детали" msgid "Create a new variant of template '%(full_name)s'." msgstr "Создать новую разновидность из шаблона '%(full_name)s'." -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "Неизвестная база данных" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "Изображение детали не найдено" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "Серийный номер" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "Код места хранения" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "Код детали поставщика" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "Код сборки" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "Родительская единица хранения" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "Базовая деталь" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Место хранения" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "Код партии для этой единицы хранения" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "Исходная сборка" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "Удалить при обнулении" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "Удалить эту единицу хранения при обнулении складского запаса" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "Заметки о единице хранения" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "Деталь не является отслеживаемой" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "Серийные номера уже существуют" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "Выбранная деталь отсутствует в спецификации" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "Выбранная компания не является покупателем" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "Установленные единицы хранения" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "Установить единицу хранения" @@ -6528,7 +6802,7 @@ msgstr "Установить единицу хранения" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "Редактировать место хранения" msgid "Delete location" msgstr "Удалить место хранения" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "Настройки заказа на сборку" msgid "Category Settings" msgstr "Настройки категории" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "Настройки валюты" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "Базовая валюта" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "Настройки сервера" @@ -7090,15 +7337,15 @@ msgstr "Открыть в новой вкладке" msgid "Part Settings" msgstr "Настройки деталей" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "Шаблон параметра детали" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "Настройки заказа на закупку" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "Настройки валюты" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "Базовая валюта" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "Шаблоны параметров детали не найдены" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "Идентификатор" @@ -7357,10 +7633,6 @@ msgstr "Глобальные настройки" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "Минимальное количество" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "Скачать шаблон BOM" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "Редактировать элемент BOM" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "Удалить элемент BOM" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "Элементы BOM не найдены" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "Унаследовано от родительского BOM" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "Добавить производителя" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "Добавить деталь производителя" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "Редактировать деталь производителя" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "Добавить поставщика" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "Добавить деталь поставщика" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "Все выбранные детали поставщика будут удалены" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "Добавить новую компанию" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "Информация о компании не найдена" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "Удалить параметры" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "Информация о детали производителя не найдена" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "Деталь-шаблон" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "Параметры не найдены" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "Редактировать параметр" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "Удалить параметр" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "Редактировать параметр" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "Удалить параметр" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "Информация о детали поставщика не найдена" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "Редактировать деталь поставщика" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "Удалить деталь поставщика" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "Последнее обновление" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "Код компании" msgid "Stock ID" msgstr "Код склада" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "Код места хранения" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "Код сборки" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,17 +9249,13 @@ msgstr "Код заказа" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "Код категории" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "Код детали производителя" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" -msgstr "Код детали поставщика" +#: templates/js/translated/news.js:23 +msgid "No news found" +msgstr "" #: templates/js/translated/notification.js:42 msgid "Age" @@ -9104,659 +9397,688 @@ msgstr "Редактировать заказ на закупку" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "Добавить код партии" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "Заказов на закупку не найдено" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "Общая стоимость" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "Заказы на продажу не найдены" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "Подтвердите выделение запасов" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "Атрибуты детали" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "Настройки создания детали" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "Настройки дублирования детали" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "Настройки поставщика" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "Добавить категорию" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "Добавить данные поставщика" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "Создать начальные данные поставщика для этой детали" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "Родительская категория" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "Редактировать категорию" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "Вы уверены, что хотите удалить эту категорию?" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "Удалить категорию" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "Создать разновидность детали" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "Вы подписаны на уведомления для данного элемента" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "Вы подписались на уведомления для данного элемента" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "Включить уведомления для данного элемента" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "Вы отписались от уведомлений для данного элемента" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "Отслеживаемая деталь" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "Разновидности не найдены" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "Детали не найдены" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "Нет категории" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "Список" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "Таблица" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "Укажите категорию" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "Дерево" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "Вы уверены, что хотите удалить место хранения?" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "Создано несколько единиц хранения" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "Предупреждение: Операция объединения не может быть отменена" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "Следующие данные будут потеряны в процессе объединения" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "История складских перемещений будет удалена для объединённых элементов" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "Информация о деталях поставщика будет удалена для объединённых элементов" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "Код партии" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "Статус сборки" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -10738,35 +11069,35 @@ msgstr "Права доступа" msgid "Important dates" msgstr "" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "Права доступа" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "Вид" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "Разрешение на просмотр элементов" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "Разрешение на добавление элементов" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "Разрешение на редактирование элементов" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 11c065ae90..e9ba26bd06 100644 --- a/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:02\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:51\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "API-slutpunkt hittades inte" @@ -25,27 +25,27 @@ msgstr "API-slutpunkt hittades inte" msgid "Error details can be found in the admin panel" msgstr "Information om felet finns under Error i adminpanelen" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "Ange datum" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "Anteeckningar" @@ -122,43 +122,43 @@ msgstr "Fjärrservern returnerade tomt svar" msgid "Supplied URL is not a valid image file" msgstr "Angiven URL är inte en giltig bildfil" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "Tom serienummersträng" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "Ogiltigt gruppområde: {g}" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "Ogiltig gruppsekvens: {g}" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "Inga serienummer hittades" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "Antal unika serienummer ({s}) måste matcha antal ({q})" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "Ta bort HTML-taggar från detta värde" @@ -194,7 +194,7 @@ msgstr "Saknad fil" msgid "Missing external link" msgstr "Extern länk saknas" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "Bilaga" msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "Länk" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "Länk till extern URL" @@ -228,12 +229,12 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "Användare" @@ -270,44 +271,45 @@ msgstr "Fel vid namnbyte av fil" msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "Namn" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "Beskrivning" @@ -320,7 +322,7 @@ msgid "parent" msgstr "överordnad" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "Sökväg" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "" @@ -352,187 +354,187 @@ msgstr "Serverfel" msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "Filnamn" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "Ogiltigt värde" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "Datafil" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "Välj fil för uppladdning" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "Filtypen stöds inte" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "Filen är för stor" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "Inga kolumner hittades i filen" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "Inga rader hittades i filen" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "Inga rader angivna" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "Inga datakolumner har angetts" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Saknar obligatorisk kolumn: '{name}'" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Duplicerad kolumn: '{col}'" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "URL" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "URL för fjärrbildsfil" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "Tjeckiska" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "Tyska" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "Grekiska" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "Engelska" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "Spanska" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "Spanska (Mexikanska)" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "Farsi / Persiska" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "Franska" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "Hebreiska" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "Ungerska" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "Italienska" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "Japanska" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "Koreanska" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "Nederländska" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "Norska" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "Polska" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "Portugisiska" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "Portugisiska (brasiliansk)" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "Ryska" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "Svenska" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "Thailändska" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "Turkiska" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "Vietnamesiska" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "Kinesiska" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "Kontroll av bakgrundsarbetare misslyckades" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "Backend för e-post är inte konfigurerad" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "InvenTree systemhälsokontroll misslyckades" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "Väntar" @@ -561,8 +563,8 @@ msgstr "Förlorad" msgid "Returned" msgstr "Återlämnad" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "Skickad" @@ -646,7 +648,7 @@ msgstr "Dela från överordnat objekt" msgid "Split child item" msgstr "Dela underordnat objekt" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "Sammanfogade lagerposter" @@ -654,7 +656,7 @@ msgstr "Sammanfogade lagerposter" msgid "Converted to variant" msgstr "Konverterad till variant" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "Skickat till kund" @@ -746,7 +748,7 @@ msgstr "Byggorder" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "Byggordrar" msgid "Build Order Reference" msgstr "Byggorderreferens" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "Referens" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "Byggorder till vilken detta bygge är tilldelad" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "Del" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Försäljningsorder till vilken detta bygge allokeras" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "Källa Plats" @@ -874,8 +877,8 @@ msgstr "Byggstatus" msgid "Build status code" msgstr "Bygg statuskod" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "Batchkod" @@ -883,12 +886,12 @@ msgstr "Batchkod" msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "Skapad" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "Datum för slutförande" @@ -896,7 +899,7 @@ msgstr "Datum för slutförande" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Måldatum för färdigställande. Byggandet kommer att förfallas efter detta datum." -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "Slutförandedatum" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "Användare som utfärdade denna byggorder" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "Ansvarig" @@ -929,7 +932,7 @@ msgstr "Användare som ansvarar för denna byggorder" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "Extern länk" @@ -968,11 +971,11 @@ msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad 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:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" @@ -994,18 +997,18 @@ msgstr "Bygg" msgid "Build to allocate parts" msgstr "Bygg för att allokera delar" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "Artikel i lager" @@ -1015,12 +1018,10 @@ msgstr "Källa lagervara" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "Källa lagervara" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "Antal" @@ -1087,10 +1092,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1102,9 +1107,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "Serienummer" @@ -1120,7 +1125,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "Plats" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "Status" @@ -1213,7 +1219,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "Acceptera ofullständig" @@ -1229,8 +1235,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "" @@ -1246,11 +1252,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1267,7 +1273,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "Måldatum" @@ -1401,29 +1407,29 @@ msgstr "" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "Försenad" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "Slutförd" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "Försäljningsorder" @@ -1449,8 +1455,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "Mål" @@ -1462,14 +1468,14 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "" @@ -1527,7 +1533,7 @@ msgstr "Beställ obligatoriska delar" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "Beställ delar" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Bilagor" @@ -1617,7 +1623,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "Ny byggorder" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Företagsnamn" @@ -1902,9 +1908,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "" @@ -1912,9 +1918,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "" @@ -1922,8 +1929,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "" @@ -1931,7 +1938,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "" @@ -1939,8 +1946,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "" @@ -1948,10 +1955,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "" @@ -1959,10 +1966,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "Virtuell" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "Visa importguiden i vissa delvyer" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "Visa pris i formulär" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "Visa delars pris i vissa formulär" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "Visa prishistorik" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "Visa historisk prissättning för del" - -#: common/models.py:1089 msgid "Show related parts" msgstr "Visa relaterade delar" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "Visa relaterade delar för en del" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "Skapa ursprungligt lager" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "Skapa ursprungligt lager när delen skapas" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "Interna priser" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "Visningsformat för delnamn" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "Formatera för att visa artikelnamnet" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" -msgstr "Aktivera etikettutskrift" - -#: common/models.py:1132 -msgid "Enable label printing from the web interface" -msgstr "Aktivera etikettutskrift från webbgränssnittet" - -#: common/models.py:1138 -msgid "Label Image DPI" -msgstr "Etikettbild DPI" - -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "Aktivera rapporter" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "Aktivera generering av rapporter" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "Debugläge" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1162 -msgid "Page Size" -msgstr "Sidstorlek" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "Standard sidstorlek för PDF-rapporter" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "Aktivera testrapporter" - -#: common/models.py:1174 -msgid "Enable generation of test reports" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1180 -msgid "Attach Test Reports" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "Interna priser" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "Aktivera etikettutskrift" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "Aktivera etikettutskrift från webbgränssnittet" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "Etikettbild DPI" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "Aktivera rapporter" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "Aktivera generering av rapporter" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "Debugläge" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "Sidstorlek" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "Standard sidstorlek för PDF-rapporter" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "Aktivera testrapporter" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2816,298 +2869,301 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "" @@ -3162,14 +3218,14 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "" @@ -3203,7 +3259,7 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "" @@ -3232,7 +3288,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "" @@ -3246,7 +3302,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,7 +4185,8 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" msgstr "" #: order/templates/order/order_base.html:65 @@ -4162,7 +4194,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "" + +#: part/admin.py:21 +msgid "Part Description" +msgstr "" + +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "" + +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" + +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" + +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" + +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "" + +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "" + +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 +#: templates/js/translated/table_filters.js:68 +msgid "On Order" +msgstr "" + +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "" + +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "" + +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "" + +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" + +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:23 part/templates/part/category.html:134 +#: part/templates/part/category.html:154 +#: part/templates/part/category_sidebar.html:9 +#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 +#: templates/InvenTree/settings/sidebar.html:41 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 +#: templates/navbar.html:24 users/models.py:38 +msgid "Parts" +msgstr "" + +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:536 +#: part/api.py:552 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:554 +#: part/api.py:570 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:640 +#: part/api.py:656 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:777 +#: part/api.py:814 msgid "Valid" msgstr "" -#: part/api.py:778 +#: part/api.py:815 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:784 +#: part/api.py:821 msgid "This option must be selected" msgstr "" -#: part/api.py:1207 +#: part/api.py:1261 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1211 +#: part/api.py:1265 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1226 +#: part/api.py:1280 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 msgid "This field is required" msgstr "" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 msgid "Default Location" msgstr "" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 +#: part/bom.py:143 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 msgid "Available Stock" msgstr "" -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 -#: templates/js/translated/table_filters.js:68 -msgid "On Order" -msgstr "" - #: part/forms.py:41 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:99 +#: part/models.py:117 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:85 +#: part/models.py:125 stock/models.py:101 msgid "Icon" msgstr "" -#: part/models.py:108 stock/models.py:86 +#: part/models.py:126 stock/models.py:102 msgid "Icon (optional)" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 +#: part/models.py:141 part/templates/part/category.html:129 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 -#: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 -#: templates/navbar.html:24 users/models.py:38 -msgid "Parts" -msgstr "" - -#: part/models.py:429 +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "" msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "" msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -10738,35 +11069,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index f73930403b..4529882514 100644 --- a/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:02\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:50\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "" @@ -25,27 +25,27 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "" @@ -122,43 +122,43 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "" @@ -194,7 +194,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "" @@ -228,12 +229,12 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "" @@ -270,44 +271,45 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "" @@ -320,7 +322,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "" @@ -352,187 +354,187 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "" @@ -561,8 +563,8 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "" @@ -646,7 +648,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "" @@ -654,7 +656,7 @@ msgstr "" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "" @@ -746,7 +748,7 @@ msgstr "" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "" @@ -874,8 +877,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "" @@ -883,12 +886,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "" @@ -896,7 +899,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "" @@ -929,7 +932,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "" @@ -968,11 +971,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -994,18 +997,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "" @@ -1015,12 +1018,10 @@ msgstr "" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "" @@ -1087,10 +1092,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1102,9 +1107,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "" @@ -1120,7 +1125,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "" @@ -1213,7 +1219,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "" @@ -1229,8 +1235,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "" @@ -1246,11 +1252,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1267,7 +1273,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "" @@ -1401,29 +1407,29 @@ msgstr "" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "" @@ -1449,8 +1455,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "" @@ -1462,14 +1468,14 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "" @@ -1527,7 +1533,7 @@ msgstr "" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1617,7 +1623,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" @@ -1902,9 +1908,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "" @@ -1912,9 +1918,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "" @@ -1922,8 +1929,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "" @@ -1931,7 +1938,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "" @@ -1939,8 +1946,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "" @@ -1948,10 +1955,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "" @@ -1959,10 +1966,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2816,298 +2869,301 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "" @@ -3162,14 +3218,14 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "" @@ -3203,7 +3259,7 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "" @@ -3232,7 +3288,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "" @@ -3246,7 +3302,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,7 +4185,8 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" msgstr "" #: order/templates/order/order_base.html:65 @@ -4162,7 +4194,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "" + +#: part/admin.py:21 +msgid "Part Description" +msgstr "" + +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "" + +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" + +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" + +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" + +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "" + +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "" + +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 +#: templates/js/translated/table_filters.js:68 +msgid "On Order" +msgstr "" + +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "" + +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "" + +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "" + +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" + +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:23 part/templates/part/category.html:134 +#: part/templates/part/category.html:154 +#: part/templates/part/category_sidebar.html:9 +#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 +#: templates/InvenTree/settings/sidebar.html:41 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 +#: templates/navbar.html:24 users/models.py:38 +msgid "Parts" +msgstr "" + +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:536 +#: part/api.py:552 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:554 +#: part/api.py:570 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:640 +#: part/api.py:656 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:777 +#: part/api.py:814 msgid "Valid" msgstr "" -#: part/api.py:778 +#: part/api.py:815 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:784 +#: part/api.py:821 msgid "This option must be selected" msgstr "" -#: part/api.py:1207 +#: part/api.py:1261 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1211 +#: part/api.py:1265 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1226 +#: part/api.py:1280 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 msgid "This field is required" msgstr "" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 msgid "Default Location" msgstr "" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 +#: part/bom.py:143 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 msgid "Available Stock" msgstr "" -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 -#: templates/js/translated/table_filters.js:68 -msgid "On Order" -msgstr "" - #: part/forms.py:41 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:99 +#: part/models.py:117 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:85 +#: part/models.py:125 stock/models.py:101 msgid "Icon" msgstr "" -#: part/models.py:108 stock/models.py:86 +#: part/models.py:126 stock/models.py:102 msgid "Icon (optional)" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 +#: part/models.py:141 part/templates/part/category.html:129 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 -#: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 -#: templates/navbar.html:24 users/models.py:38 -msgid "Parts" -msgstr "" - -#: part/models.py:429 +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "" msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "" msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -10738,35 +11069,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index dcdc7629b3..3212a2882a 100644 --- a/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:02\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:51\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "API uç noktası bulunamadı" @@ -25,27 +25,27 @@ msgstr "API uç noktası bulunamadı" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "Tarih giriniz" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "Notlar" @@ -122,43 +122,43 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "Sağlanan URL geçerli bir resim dosyası değil" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "Boş seri numarası dizesi" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "Seri numarası bulunamadı" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "" @@ -194,7 +194,7 @@ msgstr "Eksik dosya" msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "Ek" msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "Bağlantı" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" @@ -228,12 +229,12 @@ msgstr "Yorum" msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "Kullanıcı" @@ -270,44 +271,45 @@ msgstr "Dosya adı değiştirilirken hata" msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "Adı" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "Açıklama" @@ -320,7 +322,7 @@ msgid "parent" msgstr "üst" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "" @@ -352,187 +354,187 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "Dosya adı" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "Geçersiz değer" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "Veri Dosyası" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "Yüklemek istediğiniz dosyayı seçin" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "Desteklenmeyen dsoya tipi" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "Dosya boyutu çok büyük" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "Dosyada kolon bulunamadı" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "Dosyada satır bulunamadı" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "Dosyada uygun kolon bulunamadı" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "Gerekli kolon ismi eksik:'{name}'" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "Tekrarlanan kolon ismi:'{col}'" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "Almanca" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "Yunanca" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "İngilizce" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "İspanyolca" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "İspanyolca(Meksika)" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "Fransızca" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "İbranice" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "Macarca" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "İtalyanca" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "Japonca" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "Korece" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "Flemenkçe" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "Norveççe" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "Polonyaca" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "Rusça" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "İsveççe" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "Tay dili" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "Türkçe" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "Vietnamca" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "Çince" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "Arka plan çalışanı kontrolü başarısız oldu" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "E-posta arka ucu yapılandırılmadı" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "InvenTree sistem sağlık kontrolü başarısız" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "Bekliyor" @@ -561,8 +563,8 @@ msgstr "Kayıp" msgid "Returned" msgstr "İade" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "Sevk edildi" @@ -646,7 +648,7 @@ msgstr "Üst ögeden ayır" msgid "Split child item" msgstr "Alt ögeyi ayır" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "Stok parçalarını birleştir" @@ -654,7 +656,7 @@ msgstr "Stok parçalarını birleştir" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "Müşteriye gönderildi" @@ -746,7 +748,7 @@ msgstr "Yapım İşi Emri" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "Yapım İşi Emirleri" msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "Referans" @@ -785,39 +787,40 @@ 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:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "Parça" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği satış emri" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "Kaynak Konum" @@ -874,8 +877,8 @@ msgstr "Yapım İşi Durumu" msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "Sıra numarası" @@ -883,12 +886,12 @@ msgstr "Sıra numarası" msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "Oluşturulma tarihi" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "Hedef tamamlama tarihi" @@ -896,7 +899,7 @@ msgstr "Hedef tamamlama tarihi" 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:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "Tamamlama tarihi" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "Sorumlu" @@ -929,7 +932,7 @@ msgstr "Bu yapım işi emrinden sorumlu kullanıcı" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "Harici Bağlantı" @@ -968,11 +971,11 @@ msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktıs msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" @@ -994,18 +997,18 @@ msgstr "Yapım İşi" msgid "Build to allocate parts" msgstr "Yapım işi için tahsis edilen parçalar" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "Stok Kalemi" @@ -1015,12 +1018,10 @@ msgstr "Kaynak stok kalemi" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "Kaynak stok kalemi" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "Miktar" @@ -1087,10 +1092,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1102,9 +1107,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "Seri Numaraları" @@ -1120,7 +1125,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "Konum" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "Durum" @@ -1213,7 +1219,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "" @@ -1229,8 +1235,8 @@ msgstr "Gerekli yapım işi miktarı tamamlanmadı" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "" @@ -1246,11 +1252,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1267,7 +1273,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "Hedeflenen tarih" @@ -1401,29 +1407,29 @@ msgstr "Bu yapım işinin %(target)s tarihinde süresi doluyor" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "Vadesi geçmiş" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "Tamamlandı" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "Sipariş Emri" @@ -1449,8 +1455,8 @@ msgstr "Stok Kaynağı" msgid "Stock can be taken from any available location." msgstr "Stok herhangi bir konumdan alınabilir." -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "Hedef" @@ -1462,14 +1468,14 @@ msgstr "Hedef konumu belirtilmedi" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "Toplu" @@ -1527,7 +1533,7 @@ msgstr "Gerekli parçaları sipariş edin" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "Parça Siparişi" @@ -1597,10 +1603,10 @@ msgstr "Tamamlanmış Yapım İşi Çıktıları" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Ekler" @@ -1617,7 +1623,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "Yeni Yapım İşi Emri" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "Şirket adı" @@ -1902,9 +1908,9 @@ 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/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "Şablon" @@ -1912,9 +1918,10 @@ msgstr "Şablon" msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "Montaj" @@ -1922,8 +1929,8 @@ msgstr "Montaj" msgid "Parts can be assembled from other components by default" msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "Bileşen" @@ -1931,7 +1938,7 @@ msgstr "Bileşen" msgid "Parts can be used as sub-components by default" msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "Satın Alınabilir" @@ -1939,8 +1946,8 @@ msgstr "Satın Alınabilir" msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "Satılabilir" @@ -1948,10 +1955,10 @@ msgstr "Satılabilir" msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "Takip Edilebilir" @@ -1959,10 +1966,10 @@ msgstr "Takip Edilebilir" msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "Sanal" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "Formlarda Fiyat Göster" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "İlgili parçaları göster" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "Hata Ayıklama Modu" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "Sayfa Boyutu" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "PDF raporlar için varsayılan sayfa boyutu" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "günler" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "Hata Ayıklama Modu" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "Sayfa Boyutu" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "PDF raporlar için varsayılan sayfa boyutu" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "Fiyat" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "Aktif" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "Dosya Yükle" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "Alanları Eşleştir" @@ -2816,298 +2869,301 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "Şirket web sitesi" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "Adres" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "Şirket adresi" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "Telefon numarası" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "İletişim telefon numarası" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "E-posta" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "İletişim e-posta adresi" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "İletişim" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "Resim" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "müşteri mi" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "Bu şirkete ürün satıyor musunuz?" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "tedarikçi mi" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "Bu şirketten ürün satın alıyor musunuz?" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "üretici mi" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "Bu şirket üretim yapıyor mu?" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "Para birimi" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "Bu şirket için varsayılan para birimi" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "Temel Parça" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "Parça seçin" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "Üretici" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "Üretici seçin" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "ÜPN" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "Üretici Parça Numarası" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "Parametre adı" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "Değer" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "Parametre değeri" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "Tedarikçi" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "Not" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "Paketleme" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "çoklu" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "Mevcut" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "Para Birimi Kodu" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "" @@ -3162,14 +3218,14 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "Müşteri" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "Resmi İndirin" @@ -3203,7 +3259,7 @@ msgstr "Yeni tedarikçi parçası oluştur" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "Yeni Tedarikçi Parçası" @@ -3232,7 +3288,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "" @@ -3246,7 +3302,7 @@ msgstr "Tedarikçi Stoku" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "Yeni Satın Alma Emri" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "Üreticiler" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "Parça siparişi" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "Tedarikçi parçalarını sil" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "Tedarikçi Parçası" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "Tedarikçi Parçası Emirleri" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "Fiyat Bilgisi" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "Stok" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "Tedarikçi Parçası Fiyatlandırması" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "Fiyatlandırma" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "Stok Kalemleri" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "Sipariş açıklaması" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "Oluşturan" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "Sipariş notları" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,15 +4185,16 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" -msgstr "Sipariş ver" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" +msgstr "" #: order/templates/order/order_base.html:65 msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "Tedarikçi Parçası Seçin" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "Sipariş Notları" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "İşlemler" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "" + +#: part/admin.py:21 +msgid "Part Description" +msgstr "" + +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "DPN" + +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "Revizyon" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "Anahtar kelimeler" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" + +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" + +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" + +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "Minimum Stok" + +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "" + +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 +#: templates/js/translated/table_filters.js:68 +msgid "On Order" +msgstr "" + +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "" + +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "" + +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "" + +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" + +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:23 part/templates/part/category.html:134 +#: part/templates/part/category.html:154 +#: part/templates/part/category_sidebar.html:9 +#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 +#: templates/InvenTree/settings/sidebar.html:41 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 +#: templates/navbar.html:24 users/models.py:38 +msgid "Parts" +msgstr "Parçalar" + +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:536 +#: part/api.py:552 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:554 +#: part/api.py:570 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:640 +#: part/api.py:656 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:777 +#: part/api.py:814 msgid "Valid" msgstr "" -#: part/api.py:778 +#: part/api.py:815 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:784 +#: part/api.py:821 msgid "This option must be selected" msgstr "" -#: part/api.py:1207 +#: part/api.py:1261 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1211 +#: part/api.py:1265 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1226 +#: part/api.py:1280 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 msgid "This field is required" msgstr "" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 msgid "Default Location" msgstr "Varsayılan Konum" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 +#: part/bom.py:143 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 msgid "Available Stock" msgstr "" -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 -#: templates/js/translated/table_filters.js:68 -msgid "On Order" -msgstr "" - #: part/forms.py:41 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:99 +#: part/models.py:117 msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:85 +#: part/models.py:125 stock/models.py:101 msgid "Icon" msgstr "" -#: part/models.py:108 stock/models.py:86 +#: part/models.py:126 stock/models.py:102 msgid "Icon (optional)" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 +#: part/models.py:141 part/templates/part/category.html:129 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "Parça Kategorileri" -#: part/models.py:344 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 -#: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 -#: templates/navbar.html:24 users/models.py:38 -msgid "Parts" -msgstr "Parçalar" - -#: part/models.py:429 +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "Parça adı" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "Bu parça başka bir parçanın çeşidi mi?" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "Çeşidi" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "Parça açıklaması" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "Anahtar kelimeler" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "DPN" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "Revizyon" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "Minimum Stok" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "Bu parça diğer parçaların yapımında kullanılabilir mi?" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabilir" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "Gerekli" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 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:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:2700 +#: part/models.py:3313 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:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "" msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "Parçalar (Alt kategoriler dahil)" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "Parça Stoku" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "Yenile" @@ -5192,123 +5448,103 @@ msgstr "Test Şablonu Ekle" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "Parça Çeşitleri" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "Yeni çeşit oluştur" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "Yeni Çeşit" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "Parça Tedarikçileri" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "Pasif" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "Bu parça %(link)s parçasının bir çeşididir" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "Son Seri Numarası" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "Hesapla" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "Birim Maliyeti" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "Toplam Maliyet" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "Stok Yok" @@ -5722,40 +5948,36 @@ msgstr "Yeni parça çeşidi oluştur" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "Hiçbiri" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "Seri Numara" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "Seri No" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "Seri numarası olan ögenin miktarı bir olmalı" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Miktar birden büyük ise seri numarası ayarlanamaz" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "Üst Stok Kalemi" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "Bu stok kalemi için tedarikçi parçası seçin" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Stok Konumu" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "Seri numaraları tam sayı listesi olmalı" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seri numaraları zaten mevcut: {exists}" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "İşlem notu ekle (isteğe bağlı)" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erdi" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erecek" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "Konumu düzenle" msgid "Delete location" msgstr "Konumu sil" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "Kategori Ayarları" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "Parça Parametre Şablonu" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "Parça parametre şablonu bulunamadı" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Kapat" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "Dışa aktarılan malzeme listesine parça tedarikçisi verilerini dahil edin" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "Gerekli Parça" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "Tamamlanmış Yapım İşi Emri" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "Stok tahsisini düzenle" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "Stok tahsisini sil" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Parçaları Seçin" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "Şablon Parça" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "Tedarikçi parçasını düzenle" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "Tedarikçi parçasını sil" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "Ürünler" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "Stok tahsisini onayla" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "Silme İşlemini Onayla" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "Seri numaralarını tahsis et" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "Seri Numaralarını Tahsis Et" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "Çeşit bulunamadı" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "Katagori Yok" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "Sorgu ile eşleşen test şablonu bulunamadı" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "Bu stok konumunu silmek istediğinizden emin misiniz?" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "Stok Konumunu Sil" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "Stok ayarlamasını onayla" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "Stok konumu ayarlanmadı" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "Detaylar" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "Konum artık yok" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "Çeşit Stokuna İzin Ver" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "Alt konumları dahil et" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "Konumları dahil et" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 +#: templates/js/translated/table_filters.js:156 +#: templates/js/translated/table_filters.js:238 msgid "Is Serialized" msgstr "Seri Numaralı" -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:245 msgid "Serial number GTE" msgstr "Seri numarası BvE" -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 +#: templates/js/translated/table_filters.js:160 +#: templates/js/translated/table_filters.js:246 msgid "Serial number greater than or equal to" msgstr "Seri numarası büyük veya eşit" -#: templates/js/translated/table_filters.js:159 -#: templates/js/translated/table_filters.js:245 +#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 msgid "Serial number LTE" msgstr "Seri numarası KvE" -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:246 +#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:250 msgid "Serial number less than or equal to" msgstr "Seri numarası küçük veya eşit" -#: templates/js/translated/table_filters.js:163 -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "Seri numarası" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "Alt konumlardaki stoku dahil et" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "Çeşitleri Dahil Et" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "Çeşit parçaların stok kalemlerini dahil et" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "Alt kategorilerdeki parçaları dahil et" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "DPN Var" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "Tüm bildirimleri ve içeriğini göster" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "QR sağlanamadı" @@ -10738,35 +11069,35 @@ msgstr "Yetkiler" msgid "Important dates" msgstr "Önemli tarihler" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "İzinleri ayarla" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "Grup" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "Görünüm" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "Parçayı görüntüleme izni" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "Parça ekleme izni" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "Değiştir" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "Parçaları düzenleme izni" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "Parçaları silme izni" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index a778632bc3..744516202c 100644 --- a/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:02\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:50\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "" @@ -25,27 +25,27 @@ msgstr "" msgid "Error details can be found in the admin panel" msgstr "" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "" @@ -122,43 +122,43 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "" @@ -194,7 +194,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "" @@ -228,12 +229,12 @@ msgstr "Bình luận" msgid "File comment" msgstr "" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "Người dùng" @@ -270,44 +271,45 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "Mô tả" @@ -320,7 +322,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "" @@ -352,187 +354,187 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "Tên tập tin" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "" @@ -561,8 +563,8 @@ msgstr "" msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "" @@ -646,7 +648,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "" @@ -654,7 +656,7 @@ msgstr "" msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "" @@ -746,7 +748,7 @@ msgstr "Tạo đơn hàng" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "Tạo đơn hàng" msgid "Build Order Reference" msgstr "" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "Nguyên liệu" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "" @@ -874,8 +877,8 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "" @@ -883,12 +886,12 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "" @@ -896,7 +899,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "Ngày hoàn thành" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "" @@ -929,7 +932,7 @@ msgstr "" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "" @@ -968,11 +971,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -994,18 +997,18 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "" @@ -1015,12 +1018,10 @@ msgstr "" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "" @@ -1087,10 +1092,10 @@ msgstr "" msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "" @@ -1102,9 +1107,9 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "" @@ -1120,7 +1125,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "Trạng thái" @@ -1213,7 +1219,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "" @@ -1229,8 +1235,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "" @@ -1246,11 +1252,11 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1267,7 +1273,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "" @@ -1401,29 +1407,29 @@ msgstr "" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "Đã hoàn thành" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "" @@ -1449,8 +1455,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "" @@ -1462,14 +1468,14 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "" @@ -1527,7 +1533,7 @@ msgstr "" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1617,7 +1623,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "" @@ -1902,9 +1908,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "" @@ -1912,9 +1918,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "" @@ -1922,8 +1929,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "" @@ -1931,7 +1938,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "" @@ -1939,8 +1946,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "" @@ -1948,10 +1955,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "" @@ -1959,10 +1966,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "Hiển thị nguyên liệu mới nhất trên trang chủ" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "" @@ -2816,298 +2869,301 @@ msgstr "" msgid "Previous Step" msgstr "" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "Nhà sản xuất" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "Nhà cung cấp" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "" @@ -3162,14 +3218,14 @@ msgstr "" msgid "Download image from URL" msgstr "" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "" @@ -3203,7 +3259,7 @@ msgstr "" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "" @@ -3232,7 +3288,7 @@ msgstr "" msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "" @@ -3246,7 +3302,7 @@ msgstr "" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "Kiện hàng" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "" @@ -3672,438 +3702,439 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "Đơn hàng" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,7 +4185,8 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" msgstr "" #: order/templates/order/order_base.html:65 @@ -4162,7 +4194,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" +msgstr "" + +#: part/admin.py:21 +msgid "Part Description" +msgstr "" + +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" +msgstr "" + +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" +msgstr "" + +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" +msgstr "" + +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" +msgstr "" + +#: part/admin.py:31 +msgid "Default Supplier ID" +msgstr "" + +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "" + +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" +msgstr "" + +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 +#: templates/js/translated/table_filters.js:68 +msgid "On Order" +msgstr "" + +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "" + +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" +msgstr "" + +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" +msgstr "" + +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" +msgstr "" + +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 +#: part/templates/part/category.html:23 part/templates/part/category.html:134 +#: part/templates/part/category.html:154 +#: part/templates/part/category_sidebar.html:9 +#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 +#: templates/InvenTree/settings/sidebar.html:41 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 +#: templates/navbar.html:24 users/models.py:38 +msgid "Parts" +msgstr "Nguyên liệu" + +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:536 +#: part/api.py:552 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:554 +#: part/api.py:570 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:640 +#: part/api.py:656 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:777 +#: part/api.py:814 msgid "Valid" msgstr "" -#: part/api.py:778 +#: part/api.py:815 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:784 +#: part/api.py:821 msgid "This option must be selected" msgstr "" -#: part/api.py:1207 +#: part/api.py:1261 msgid "Must be greater than zero" msgstr "" -#: part/api.py:1211 +#: part/api.py:1265 msgid "Must be a valid quantity" msgstr "" -#: part/api.py:1226 +#: part/api.py:1280 msgid "Specify location for initial part stock" msgstr "" -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 msgid "This field is required" msgstr "" -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 msgid "Default Location" msgstr "" -#: part/bom.py:128 templates/email/low_stock_notification.html:17 +#: part/bom.py:143 templates/email/low_stock_notification.html:17 msgid "Total Stock" msgstr "" -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 msgid "Available Stock" msgstr "" -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 -#: templates/js/translated/table_filters.js:68 -msgid "On Order" -msgstr "" - #: part/forms.py:41 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:99 +#: part/models.py:117 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords" msgstr "" -#: part/models.py:102 +#: part/models.py:120 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:107 stock/models.py:85 +#: part/models.py:125 stock/models.py:101 msgid "Icon" msgstr "" -#: part/models.py:108 stock/models.py:86 +#: part/models.py:126 stock/models.py:102 msgid "Icon (optional)" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 +#: part/models.py:141 part/templates/part/category.html:129 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:134 -#: part/templates/part/category.html:154 -#: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 -#: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 -#: templates/navbar.html:24 users/models.py:38 -msgid "Parts" -msgstr "Nguyên liệu" - -#: part/models.py:429 +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "" msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "" @@ -5176,7 +5431,8 @@ msgstr "" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "Số seri mới nhất" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "" @@ -5573,7 +5794,8 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Kho hàng" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "" msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "" msgid "Category Settings" msgstr "" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "Cài đặt toàn cục" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "Số seri mới nhất" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "" @@ -8593,118 +8872,144 @@ msgstr "" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "" @@ -8934,14 +9239,6 @@ msgstr "" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,16 +9249,12 @@ msgstr "" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" +#: templates/js/translated/news.js:23 +msgid "No news found" msgstr "" #: templates/js/translated/notification.js:42 @@ -9104,659 +9397,688 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -10738,35 +11069,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 21b9c84cef..2c9e191df0 100644 --- a/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-11-04 14:07+0000\n" -"PO-Revision-Date: 2022-11-04 19:02\n" +"POT-Creation-Date: 2022-11-14 04:59+0000\n" +"PO-Revision-Date: 2022-11-14 14:51\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -17,7 +17,7 @@ msgstr "" "X-Crowdin-File: /[inventree.InvenTree] l10/InvenTree/locale/en/LC_MESSAGES/django.po\n" "X-Crowdin-File-ID: 154\n" -#: InvenTree/api.py:54 +#: InvenTree/api.py:61 msgid "API endpoint not found" msgstr "未找到 API 端点" @@ -25,27 +25,27 @@ msgstr "未找到 API 端点" msgid "Error details can be found in the admin panel" msgstr "在管理面板中可以找到错误详细信息" -#: InvenTree/fields.py:120 +#: InvenTree/fields.py:129 msgid "Enter date" msgstr "输入日期" -#: InvenTree/fields.py:195 build/serializers.py:387 -#: build/templates/build/sidebar.html:21 company/models.py:525 -#: company/templates/company/sidebar.html:25 order/models.py:920 +#: InvenTree/fields.py:204 build/serializers.py:387 +#: build/templates/build/sidebar.html:21 company/models.py:529 +#: company/templates/company/sidebar.html:25 order/models.py:943 #: order/templates/order/po_sidebar.html:11 -#: order/templates/order/so_sidebar.html:17 -#: part/templates/part/part_sidebar.html:59 +#: order/templates/order/so_sidebar.html:17 part/admin.py:27 +#: part/templates/part/part_sidebar.html:57 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/models.py:2002 stock/models.py:2110 stock/serializers.py:327 -#: stock/serializers.py:460 stock/serializers.py:541 stock/serializers.py:827 -#: stock/serializers.py:926 stock/serializers.py:1058 +#: stock/admin.py:103 stock/models.py:2018 stock/models.py:2126 +#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535 +#: stock/serializers.py:826 stock/serializers.py:925 stock/serializers.py:1057 #: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1146 -#: templates/js/translated/company.js:1022 -#: templates/js/translated/order.js:2404 templates/js/translated/order.js:2552 -#: templates/js/translated/order.js:3048 templates/js/translated/order.js:3999 -#: templates/js/translated/order.js:4394 templates/js/translated/stock.js:1374 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/barcode.js:108 templates/js/translated/bom.js:1211 +#: templates/js/translated/company.js:1023 +#: templates/js/translated/order.js:2427 templates/js/translated/order.js:2561 +#: templates/js/translated/order.js:3059 templates/js/translated/order.js:3996 +#: templates/js/translated/order.js:4377 templates/js/translated/stock.js:1393 +#: templates/js/translated/stock.js:2000 msgid "Notes" msgstr "备注" @@ -122,43 +122,43 @@ msgstr "" msgid "Supplied URL is not a valid image file" msgstr "提供的 URL 不是一个有效的图片文件" -#: InvenTree/helpers.py:602 order/models.py:325 order/models.py:477 +#: InvenTree/helpers.py:589 order/models.py:329 order/models.py:496 msgid "Invalid quantity provided" msgstr "提供的数量无效" -#: InvenTree/helpers.py:610 +#: InvenTree/helpers.py:597 msgid "Empty serial number string" msgstr "空序列号字符串" -#: InvenTree/helpers.py:640 +#: InvenTree/helpers.py:627 msgid "Duplicate serial" msgstr "" -#: InvenTree/helpers.py:673 InvenTree/helpers.py:708 +#: InvenTree/helpers.py:660 InvenTree/helpers.py:695 #, python-brace-format msgid "Invalid group range: {g}" msgstr "无效的组范围: {g}" -#: InvenTree/helpers.py:702 +#: InvenTree/helpers.py:689 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" msgstr "" -#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748 +#: InvenTree/helpers.py:713 InvenTree/helpers.py:720 InvenTree/helpers.py:735 #, python-brace-format msgid "Invalid group sequence: {g}" msgstr "无效的组序列: {g}" -#: InvenTree/helpers.py:758 +#: InvenTree/helpers.py:745 msgid "No serial numbers found" msgstr "未找到序列号" -#: InvenTree/helpers.py:761 +#: InvenTree/helpers.py:748 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})" -#: InvenTree/helpers.py:960 +#: InvenTree/helpers.py:947 msgid "Remove HTML tags from this value" msgstr "" @@ -194,7 +194,7 @@ msgstr "缺少文件" msgid "Missing external link" msgstr "缺少外部链接" -#: InvenTree/models.py:405 stock/models.py:2104 +#: InvenTree/models.py:405 stock/models.py:2120 #: templates/js/translated/attachment.js:103 #: templates/js/translated/attachment.js:241 msgid "Attachment" @@ -204,18 +204,19 @@ msgstr "附件" msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:412 company/models.py:125 company/models.py:277 -#: company/models.py:512 order/models.py:84 order/models.py:1259 -#: part/models.py:816 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:412 common/models.py:2313 company/models.py:129 +#: company/models.py:281 company/models.py:516 order/models.py:85 +#: order/models.py:1282 part/admin.py:25 part/models.py:835 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: templates/js/translated/company.js:691 -#: templates/js/translated/company.js:1011 -#: templates/js/translated/order.js:3037 templates/js/translated/part.js:1569 +#: stock/admin.py:102 templates/js/translated/company.js:692 +#: templates/js/translated/company.js:1012 +#: templates/js/translated/order.js:3048 templates/js/translated/part.js:1593 msgid "Link" msgstr "链接" -#: InvenTree/models.py:413 build/models.py:290 part/models.py:817 -#: stock/models.py:660 +#: InvenTree/models.py:413 build/models.py:290 part/models.py:836 +#: stock/models.py:676 msgid "Link to external URL" msgstr "链接到外部 URL" @@ -228,12 +229,12 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1744 -#: common/models.py:1745 common/models.py:1968 common/models.py:1969 -#: common/models.py:2231 common/models.py:2232 part/models.py:2254 -#: part/models.py:2274 plugin/models.py:264 plugin/models.py:265 +#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1756 +#: common/models.py:1757 common/models.py:1980 common/models.py:1981 +#: common/models.py:2243 common/models.py:2244 part/models.py:2867 +#: part/models.py:2887 plugin/models.py:264 plugin/models.py:265 #: report/templates/report/inventree_test_report_base.html:96 -#: templates/js/translated/stock.js:2651 +#: templates/js/translated/stock.js:2669 msgid "User" msgstr "用户" @@ -270,44 +271,45 @@ msgstr "重命名文件出错" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1954 -#: company/models.py:359 label/models.py:101 part/models.py:760 -#: part/models.py:2429 plugin/models.py:94 report/models.py:152 +#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:1966 +#: company/models.py:363 label/models.py:101 part/models.py:779 +#: part/models.py:3042 plugin/models.py:94 report/models.py:152 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/plugin.html:60 #: templates/InvenTree/settings/plugin.html:104 #: templates/InvenTree/settings/plugin_settings.html:23 #: templates/InvenTree/settings/settings.html:344 -#: templates/js/translated/company.js:580 -#: templates/js/translated/company.js:793 +#: templates/js/translated/company.js:581 +#: templates/js/translated/company.js:794 #: templates/js/translated/notification.js:71 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:838 -#: templates/js/translated/part.js:1964 templates/js/translated/stock.js:2396 +#: templates/js/translated/part.js:700 templates/js/translated/part.js:865 +#: templates/js/translated/part.js:1988 templates/js/translated/stock.js:2414 msgid "Name" msgstr "名称" #: InvenTree/models.py:564 build/models.py:163 -#: build/templates/build/detail.html:24 company/models.py:283 -#: company/models.py:518 company/templates/company/company_base.html:71 +#: build/templates/build/detail.html:24 company/models.py:287 +#: company/models.py:522 company/templates/company/company_base.html:71 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:108 -#: order/models.py:82 part/models.py:783 part/models.py:2438 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:172 +#: order/models.py:83 part/admin.py:141 part/admin.py:222 part/models.py:802 +#: part/models.py:3051 part/templates/part/category.html:75 +#: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:165 #: report/models.py:507 report/models.py:551 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/templates/stock/location.html:117 +#: stock/admin.py:25 stock/templates/stock/location.html:117 #: templates/InvenTree/settings/plugin_settings.html:28 #: templates/InvenTree/settings/settings.html:355 -#: templates/js/translated/bom.js:579 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:2580 templates/js/translated/company.js:444 -#: templates/js/translated/company.js:702 -#: templates/js/translated/company.js:986 templates/js/translated/order.js:1988 -#: templates/js/translated/order.js:2220 templates/js/translated/order.js:2826 -#: templates/js/translated/part.js:745 templates/js/translated/part.js:1187 -#: templates/js/translated/part.js:1464 templates/js/translated/part.js:2000 -#: templates/js/translated/part.js:2075 templates/js/translated/stock.js:1748 -#: templates/js/translated/stock.js:2428 templates/js/translated/stock.js:2488 +#: templates/js/translated/bom.js:592 templates/js/translated/bom.js:895 +#: templates/js/translated/build.js:2580 templates/js/translated/company.js:445 +#: templates/js/translated/company.js:703 +#: templates/js/translated/company.js:987 templates/js/translated/order.js:2022 +#: templates/js/translated/order.js:2259 templates/js/translated/order.js:2837 +#: templates/js/translated/part.js:759 templates/js/translated/part.js:1208 +#: templates/js/translated/part.js:1475 templates/js/translated/part.js:2024 +#: templates/js/translated/part.js:2099 templates/js/translated/stock.js:1767 +#: templates/js/translated/stock.js:2446 templates/js/translated/stock.js:2506 msgid "Description" msgstr "描述信息" @@ -320,7 +322,7 @@ msgid "parent" msgstr "上级项" #: InvenTree/models.py:580 InvenTree/models.py:581 -#: templates/js/translated/part.js:2009 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2033 templates/js/translated/stock.js:2455 msgid "Path" msgstr "" @@ -332,7 +334,7 @@ msgstr "" msgid "Third party barcode data" msgstr "" -#: InvenTree/models.py:688 order/serializers.py:486 +#: InvenTree/models.py:688 order/serializers.py:477 msgid "Barcode Hash" msgstr "" @@ -352,187 +354,187 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:58 part/models.py:2774 +#: InvenTree/serializers.py:58 part/models.py:3387 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:265 +#: InvenTree/serializers.py:266 msgid "Filename" msgstr "文件名" -#: InvenTree/serializers.py:300 +#: InvenTree/serializers.py:301 msgid "Invalid value" msgstr "无效值" -#: InvenTree/serializers.py:322 +#: InvenTree/serializers.py:323 msgid "Data File" msgstr "数据文件" -#: InvenTree/serializers.py:323 +#: InvenTree/serializers.py:324 msgid "Select data file for upload" msgstr "选择要上传的文件" -#: InvenTree/serializers.py:344 +#: InvenTree/serializers.py:345 msgid "Unsupported file type" msgstr "不支持的文件类型" -#: InvenTree/serializers.py:350 +#: InvenTree/serializers.py:351 msgid "File is too large" msgstr "文件过大" -#: InvenTree/serializers.py:371 +#: InvenTree/serializers.py:372 msgid "No columns found in file" msgstr "在文件中没有找到列" -#: InvenTree/serializers.py:374 +#: InvenTree/serializers.py:375 msgid "No data rows found in file" msgstr "在文件中没有找到数据行" -#: InvenTree/serializers.py:497 +#: InvenTree/serializers.py:498 msgid "No data rows provided" msgstr "没有提供数据行" -#: InvenTree/serializers.py:500 +#: InvenTree/serializers.py:501 msgid "No data columns supplied" msgstr "没有提供数据列" -#: InvenTree/serializers.py:577 +#: InvenTree/serializers.py:578 #, python-brace-format msgid "Missing required column: '{name}'" msgstr "缺少必需的列:'{name}'" -#: InvenTree/serializers.py:586 +#: InvenTree/serializers.py:587 #, python-brace-format msgid "Duplicate column: '{col}'" msgstr "复制列: '{col}'" -#: InvenTree/serializers.py:605 +#: InvenTree/serializers.py:606 #: templates/InvenTree/settings/mixins/urls.html:14 msgid "URL" msgstr "" -#: InvenTree/serializers.py:606 +#: InvenTree/serializers.py:607 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:620 +#: InvenTree/serializers.py:621 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:621 +#: InvenTree/settings.py:627 msgid "Czech" msgstr "捷克语" -#: InvenTree/settings.py:622 +#: InvenTree/settings.py:628 msgid "Danish" msgstr "" -#: InvenTree/settings.py:623 +#: InvenTree/settings.py:629 msgid "German" msgstr "德语" -#: InvenTree/settings.py:624 +#: InvenTree/settings.py:630 msgid "Greek" msgstr "希腊语" -#: InvenTree/settings.py:625 +#: InvenTree/settings.py:631 msgid "English" msgstr "英语" -#: InvenTree/settings.py:626 +#: InvenTree/settings.py:632 msgid "Spanish" msgstr "西班牙语" -#: InvenTree/settings.py:627 +#: InvenTree/settings.py:633 msgid "Spanish (Mexican)" msgstr "西班牙语(墨西哥)" -#: InvenTree/settings.py:628 +#: InvenTree/settings.py:634 msgid "Farsi / Persian" msgstr "波斯语" -#: InvenTree/settings.py:629 +#: InvenTree/settings.py:635 msgid "French" msgstr "法语" -#: InvenTree/settings.py:630 +#: InvenTree/settings.py:636 msgid "Hebrew" msgstr "希伯来语" -#: InvenTree/settings.py:631 +#: InvenTree/settings.py:637 msgid "Hungarian" msgstr "匈牙利语" -#: InvenTree/settings.py:632 +#: InvenTree/settings.py:638 msgid "Italian" msgstr "意大利语" -#: InvenTree/settings.py:633 +#: InvenTree/settings.py:639 msgid "Japanese" msgstr "日语" -#: InvenTree/settings.py:634 +#: InvenTree/settings.py:640 msgid "Korean" msgstr "韩语" -#: InvenTree/settings.py:635 +#: InvenTree/settings.py:641 msgid "Dutch" msgstr "荷兰语" -#: InvenTree/settings.py:636 +#: InvenTree/settings.py:642 msgid "Norwegian" msgstr "挪威语" -#: InvenTree/settings.py:637 +#: InvenTree/settings.py:643 msgid "Polish" msgstr "波兰语" -#: InvenTree/settings.py:638 +#: InvenTree/settings.py:644 msgid "Portuguese" msgstr "葡萄牙语" -#: InvenTree/settings.py:639 +#: InvenTree/settings.py:645 msgid "Portuguese (Brazilian)" msgstr "葡萄牙语 (巴西)" -#: InvenTree/settings.py:640 +#: InvenTree/settings.py:646 msgid "Russian" msgstr "俄语" -#: InvenTree/settings.py:641 +#: InvenTree/settings.py:647 msgid "Swedish" msgstr "瑞典语" -#: InvenTree/settings.py:642 +#: InvenTree/settings.py:648 msgid "Thai" msgstr "泰语" -#: InvenTree/settings.py:643 +#: InvenTree/settings.py:649 msgid "Turkish" msgstr "土耳其语" -#: InvenTree/settings.py:644 +#: InvenTree/settings.py:650 msgid "Vietnamese" msgstr "越南语" -#: InvenTree/settings.py:645 +#: InvenTree/settings.py:651 msgid "Chinese" msgstr "中文(简体)" -#: InvenTree/status.py:99 +#: InvenTree/status.py:98 msgid "Background worker check failed" msgstr "后台工作人员检查失败" -#: InvenTree/status.py:103 +#: InvenTree/status.py:102 msgid "Email backend not configured" msgstr "未配置电子邮件后端" -#: InvenTree/status.py:106 +#: InvenTree/status.py:105 msgid "InvenTree system health checks failed" msgstr "InventTree系统健康检查失败" #: InvenTree/status_codes.py:99 InvenTree/status_codes.py:140 -#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:342 +#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:346 msgid "Pending" msgstr "待定" @@ -561,8 +563,8 @@ msgstr "丢失" msgid "Returned" msgstr "已退回" -#: InvenTree/status_codes.py:141 order/models.py:1142 -#: templates/js/translated/order.js:3625 templates/js/translated/order.js:3974 +#: InvenTree/status_codes.py:141 order/models.py:1165 +#: templates/js/translated/order.js:3636 templates/js/translated/order.js:3971 msgid "Shipped" msgstr "已发货" @@ -646,7 +648,7 @@ msgstr "从父项拆分" msgid "Split child item" msgstr "拆分子项" -#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2086 +#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2104 msgid "Merged stock items" msgstr "合并的库存项目" @@ -654,7 +656,7 @@ msgstr "合并的库存项目" msgid "Converted to variant" msgstr "转换为变量" -#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:229 +#: InvenTree/status_codes.py:285 templates/js/translated/table_filters.js:233 msgid "Sent to customer" msgstr "发送给客户" @@ -746,7 +748,7 @@ msgstr "生产订单" #: build/models.py:111 build/templates/build/build_base.html:13 #: build/templates/build/index.html:8 build/templates/build/index.html:12 -#: order/templates/order/sales_order_detail.html:120 +#: order/templates/order/sales_order_detail.html:125 #: order/templates/order/so_sidebar.html:13 #: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:221 #: templates/InvenTree/search.html:141 @@ -759,15 +761,15 @@ msgstr "生产订单" msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:155 order/models.py:240 order/models.py:632 -#: order/models.py:918 part/models.py:2684 +#: build/models.py:155 order/models.py:241 order/models.py:651 +#: order/models.py:941 part/admin.py:224 part/models.py:3297 #: part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_po_report.html:91 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:716 templates/js/translated/bom.js:897 -#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2251 -#: templates/js/translated/order.js:2481 templates/js/translated/order.js:3818 -#: templates/js/translated/order.js:4323 +#: templates/js/translated/bom.js:729 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1843 templates/js/translated/order.js:2290 +#: templates/js/translated/order.js:2508 templates/js/translated/order.js:3833 +#: templates/js/translated/order.js:4324 templates/js/translated/pricing.js:119 msgid "Reference" msgstr "引用" @@ -785,39 +787,40 @@ msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" #: build/models.py:180 build/templates/build/build_base.html:80 -#: build/templates/build/detail.html:29 company/models.py:680 -#: order/models.py:1015 order/models.py:1126 order/models.py:1127 -#: part/models.py:343 part/models.py:2200 part/models.py:2215 -#: part/models.py:2234 part/models.py:2252 part/models.py:2351 -#: part/models.py:2472 part/models.py:2564 part/models.py:2649 -#: part/models.py:2943 part/serializers.py:828 +#: build/templates/build/detail.html:29 company/models.py:684 +#: order/models.py:1038 order/models.py:1149 order/models.py:1150 +#: part/models.py:362 part/models.py:2700 part/models.py:2813 +#: part/models.py:2828 part/models.py:2847 part/models.py:2865 +#: part/models.py:2964 part/models.py:3085 part/models.py:3177 +#: part/models.py:3262 part/models.py:3578 part/serializers.py:852 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report.html:89 -#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:86 -#: stock/serializers.py:494 templates/InvenTree/search.html:82 +#: report/templates/report/inventree_so_report.html:90 stock/serializers.py:90 +#: stock/serializers.py:488 templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:16 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:578 -#: templates/js/translated/bom.js:715 templates/js/translated/bom.js:841 +#: templates/js/translated/barcode.js:479 templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:728 templates/js/translated/bom.js:849 #: templates/js/translated/build.js:1214 templates/js/translated/build.js:1711 #: templates/js/translated/build.js:2194 templates/js/translated/build.js:2585 -#: templates/js/translated/company.js:301 -#: templates/js/translated/company.js:531 -#: templates/js/translated/company.js:643 -#: templates/js/translated/company.js:904 templates/js/translated/order.js:106 -#: templates/js/translated/order.js:1134 templates/js/translated/order.js:1638 -#: templates/js/translated/order.js:2205 templates/js/translated/order.js:3180 -#: templates/js/translated/order.js:3576 templates/js/translated/order.js:3802 -#: templates/js/translated/part.js:1172 templates/js/translated/part.js:1244 -#: templates/js/translated/part.js:1442 templates/js/translated/stock.js:586 -#: templates/js/translated/stock.js:751 templates/js/translated/stock.js:958 -#: templates/js/translated/stock.js:1700 templates/js/translated/stock.js:2514 -#: templates/js/translated/stock.js:2709 templates/js/translated/stock.js:2843 +#: templates/js/translated/company.js:302 +#: templates/js/translated/company.js:532 +#: templates/js/translated/company.js:644 +#: templates/js/translated/company.js:905 templates/js/translated/order.js:106 +#: templates/js/translated/order.js:1168 templates/js/translated/order.js:1672 +#: templates/js/translated/order.js:2244 templates/js/translated/order.js:3191 +#: templates/js/translated/order.js:3587 templates/js/translated/order.js:3817 +#: templates/js/translated/part.js:1193 templates/js/translated/part.js:1265 +#: templates/js/translated/part.js:1452 templates/js/translated/pricing.js:102 +#: templates/js/translated/stock.js:605 templates/js/translated/stock.js:770 +#: templates/js/translated/stock.js:977 templates/js/translated/stock.js:1719 +#: templates/js/translated/stock.js:2532 templates/js/translated/stock.js:2727 +#: templates/js/translated/stock.js:2861 msgid "Part" msgstr "商品" @@ -834,7 +837,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" #: build/models.py:202 build/serializers.py:822 -#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3168 +#: templates/js/translated/build.js:2182 templates/js/translated/order.js:3179 msgid "Source Location" msgstr "来源地点" @@ -874,8 +877,8 @@ msgstr "生产状态" msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:245 build/serializers.py:224 order/serializers.py:464 -#: stock/models.py:664 templates/js/translated/order.js:1496 +#: build/models.py:245 build/serializers.py:224 order/serializers.py:455 +#: stock/models.py:680 templates/js/translated/order.js:1530 msgid "Batch Code" msgstr "批量代码" @@ -883,12 +886,12 @@ msgstr "批量代码" msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:252 order/models.py:86 part/models.py:952 -#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2839 +#: build/models.py:252 order/models.py:87 part/models.py:971 +#: part/templates/part/part_base.html:318 templates/js/translated/order.js:2850 msgid "Creation Date" msgstr "创建日期" -#: build/models.py:256 order/models.py:662 +#: build/models.py:256 order/models.py:681 msgid "Target completion date" msgstr "预计完成日期" @@ -896,7 +899,7 @@ msgstr "预计完成日期" msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:260 order/models.py:291 +#: build/models.py:260 order/models.py:292 #: templates/js/translated/build.js:2662 msgid "Completion Date" msgstr "完成日期:" @@ -914,11 +917,11 @@ msgid "User who issued this build order" msgstr "发布此生产订单的用户" #: build/models.py:283 build/templates/build/build_base.html:193 -#: build/templates/build/detail.html:115 order/models.py:100 +#: build/templates/build/detail.html:115 order/models.py:101 #: order/templates/order/order_base.html:185 -#: order/templates/order/sales_order_base.html:183 part/models.py:956 +#: order/templates/order/sales_order_base.html:183 part/models.py:975 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2022 +#: templates/js/translated/build.js:2642 templates/js/translated/order.js:2056 msgid "Responsible" msgstr "责任人" @@ -929,7 +932,7 @@ msgstr "负责此生产订单的用户" #: build/models.py:289 build/templates/build/detail.html:101 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:188 -#: part/templates/part/part_base.html:361 stock/models.py:658 +#: part/templates/part/part_base.html:376 stock/models.py:674 #: stock/templates/stock/item_base.html:203 msgid "External Link" msgstr "外部链接" @@ -968,11 +971,11 @@ msgstr "生产项必须指定生产产出,因为主部件已经被标记为可 msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1191 order/models.py:1393 +#: build/models.py:1191 order/models.py:1416 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1197 order/models.py:1396 +#: build/models.py:1197 order/models.py:1419 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" @@ -994,18 +997,18 @@ msgstr "生产" msgid "Build to allocate parts" msgstr "生产以分配部件" -#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1039 -#: order/serializers.py:1060 stock/serializers.py:398 stock/serializers.py:758 -#: stock/serializers.py:884 stock/templates/stock/item_base.html:10 +#: build/models.py:1346 build/serializers.py:663 order/serializers.py:1032 +#: order/serializers.py:1053 stock/serializers.py:392 stock/serializers.py:757 +#: stock/serializers.py:883 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:197 #: templates/js/translated/build.js:790 templates/js/translated/build.js:795 #: templates/js/translated/build.js:2196 templates/js/translated/build.js:2747 -#: templates/js/translated/order.js:107 templates/js/translated/order.js:3181 -#: templates/js/translated/order.js:3483 templates/js/translated/order.js:3488 -#: templates/js/translated/order.js:3583 templates/js/translated/order.js:3675 -#: templates/js/translated/stock.js:587 templates/js/translated/stock.js:752 -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/order.js:107 templates/js/translated/order.js:3192 +#: templates/js/translated/order.js:3494 templates/js/translated/order.js:3499 +#: templates/js/translated/order.js:3594 templates/js/translated/order.js:3686 +#: templates/js/translated/stock.js:606 templates/js/translated/stock.js:771 +#: templates/js/translated/stock.js:2605 msgid "Stock Item" msgstr "库存项" @@ -1015,12 +1018,10 @@ msgstr "源库存项" #: build/models.py:1359 build/serializers.py:192 #: build/templates/build/build_base.html:85 -#: build/templates/build/detail.html:34 common/models.py:1776 -#: company/templates/company/supplier_part.html:341 order/models.py:911 -#: order/models.py:1437 order/serializers.py:1213 -#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:40 -#: part/models.py:2665 part/templates/part/detail.html:938 -#: part/templates/part/detail.html:1024 +#: build/templates/build/detail.html:34 common/models.py:1788 +#: order/models.py:934 order/models.py:1460 order/serializers.py:1206 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:223 +#: part/forms.py:40 part/models.py:3278 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_build_order_base.html:113 @@ -1028,25 +1029,29 @@ msgstr "源库存项" #: report/templates/report/inventree_so_report.html:91 #: report/templates/report/inventree_test_report_base.html:81 #: report/templates/report/inventree_test_report_base.html:139 -#: stock/serializers.py:291 stock/templates/stock/item_base.html:290 +#: stock/admin.py:86 stock/serializers.py:285 +#: stock/templates/stock/item_base.html:290 #: stock/templates/stock/item_base.html:298 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:717 -#: templates/js/translated/bom.js:905 templates/js/translated/build.js:474 +#: templates/js/translated/barcode.js:481 templates/js/translated/bom.js:730 +#: templates/js/translated/bom.js:913 templates/js/translated/build.js:474 #: templates/js/translated/build.js:626 templates/js/translated/build.js:817 #: templates/js/translated/build.js:1236 templates/js/translated/build.js:1737 #: templates/js/translated/build.js:2197 +#: templates/js/translated/company.js:1159 #: templates/js/translated/model_renderers.js:120 -#: templates/js/translated/order.js:123 templates/js/translated/order.js:1137 -#: templates/js/translated/order.js:2257 templates/js/translated/order.js:2487 -#: templates/js/translated/order.js:3182 templates/js/translated/order.js:3502 -#: templates/js/translated/order.js:3589 templates/js/translated/order.js:3681 -#: templates/js/translated/order.js:3824 templates/js/translated/order.js:4329 -#: templates/js/translated/part.js:1036 templates/js/translated/part.js:2220 -#: templates/js/translated/part.js:2689 templates/js/translated/part.js:2730 -#: templates/js/translated/part.js:2808 templates/js/translated/stock.js:458 -#: templates/js/translated/stock.js:612 templates/js/translated/stock.js:782 -#: templates/js/translated/stock.js:2636 templates/js/translated/stock.js:2721 +#: templates/js/translated/order.js:123 templates/js/translated/order.js:1171 +#: templates/js/translated/order.js:2296 templates/js/translated/order.js:2514 +#: templates/js/translated/order.js:3193 templates/js/translated/order.js:3513 +#: templates/js/translated/order.js:3600 templates/js/translated/order.js:3692 +#: templates/js/translated/order.js:3839 templates/js/translated/order.js:4330 +#: templates/js/translated/part.js:1063 templates/js/translated/part.js:2546 +#: templates/js/translated/pricing.js:114 +#: templates/js/translated/pricing.js:207 +#: templates/js/translated/pricing.js:255 +#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:477 +#: templates/js/translated/stock.js:631 templates/js/translated/stock.js:801 +#: templates/js/translated/stock.js:2654 templates/js/translated/stock.js:2739 msgid "Quantity" msgstr "数量" @@ -1087,10 +1092,10 @@ msgstr "生产产出未被完成分配" msgid "Enter quantity for build output" msgstr "输入生产产出数量" -#: build/serializers.py:207 build/serializers.py:683 order/models.py:323 -#: order/serializers.py:304 order/serializers.py:459 part/serializers.py:558 -#: part/serializers.py:991 stock/models.py:518 stock/models.py:1253 -#: stock/serializers.py:300 +#: build/serializers.py:207 build/serializers.py:683 order/models.py:327 +#: order/serializers.py:298 order/serializers.py:450 part/serializers.py:644 +#: part/serializers.py:1015 stock/models.py:534 stock/models.py:1269 +#: stock/serializers.py:294 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" @@ -1102,9 +1107,9 @@ msgstr "对于可追踪的部件,需要整数型数值" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "需要整数型数值,因为BOM包含可追踪的部件" -#: build/serializers.py:231 order/serializers.py:472 order/serializers.py:1217 -#: stock/serializers.py:309 templates/js/translated/order.js:1507 -#: templates/js/translated/stock.js:271 templates/js/translated/stock.js:459 +#: build/serializers.py:231 order/serializers.py:463 order/serializers.py:1210 +#: stock/serializers.py:303 templates/js/translated/order.js:1541 +#: templates/js/translated/stock.js:290 templates/js/translated/stock.js:478 msgid "Serial Numbers" msgstr "序列号" @@ -1120,7 +1125,7 @@ msgstr "自动分配序列号" msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:281 stock/api.py:589 +#: build/serializers.py:281 stock/api.py:599 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1128,18 +1133,18 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "必须提供生产产出列表" -#: build/serializers.py:369 order/serializers.py:445 order/serializers.py:556 -#: stock/serializers.py:320 stock/serializers.py:455 stock/serializers.py:536 -#: stock/serializers.py:919 stock/serializers.py:1152 +#: build/serializers.py:369 order/serializers.py:436 order/serializers.py:547 +#: stock/serializers.py:314 stock/serializers.py:449 stock/serializers.py:530 +#: stock/serializers.py:918 stock/serializers.py:1151 #: stock/templates/stock/item_base.html:388 #: templates/js/translated/barcode.js:480 #: templates/js/translated/barcode.js:724 templates/js/translated/build.js:802 -#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1534 -#: templates/js/translated/order.js:3495 templates/js/translated/order.js:3600 -#: templates/js/translated/order.js:3608 templates/js/translated/order.js:3689 -#: templates/js/translated/part.js:181 templates/js/translated/stock.js:588 -#: templates/js/translated/stock.js:753 templates/js/translated/stock.js:960 -#: templates/js/translated/stock.js:1856 templates/js/translated/stock.js:2528 +#: templates/js/translated/build.js:1749 templates/js/translated/order.js:1568 +#: templates/js/translated/order.js:3506 templates/js/translated/order.js:3611 +#: templates/js/translated/order.js:3619 templates/js/translated/order.js:3700 +#: templates/js/translated/part.js:177 templates/js/translated/stock.js:607 +#: templates/js/translated/stock.js:772 templates/js/translated/stock.js:979 +#: templates/js/translated/stock.js:1875 templates/js/translated/stock.js:2546 msgid "Location" msgstr "地点" @@ -1148,12 +1153,13 @@ msgid "Location for completed build outputs" msgstr "已完成生产产出的仓储地点" #: build/serializers.py:376 build/templates/build/build_base.html:145 -#: build/templates/build/detail.html:62 order/models.py:651 -#: order/serializers.py:482 stock/templates/stock/item_base.html:421 +#: build/templates/build/detail.html:62 order/models.py:670 +#: order/serializers.py:473 stock/admin.py:89 +#: stock/templates/stock/item_base.html:421 #: templates/js/translated/barcode.js:214 templates/js/translated/build.js:2614 -#: templates/js/translated/order.js:1643 templates/js/translated/order.js:1992 -#: templates/js/translated/order.js:2831 templates/js/translated/stock.js:1831 -#: templates/js/translated/stock.js:2605 templates/js/translated/stock.js:2737 +#: templates/js/translated/order.js:1677 templates/js/translated/order.js:2026 +#: templates/js/translated/order.js:2842 templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:2623 templates/js/translated/stock.js:2755 msgid "Status" msgstr "状态" @@ -1213,7 +1219,7 @@ msgstr "接受库存项未被完成分配至此生产订单" msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:545 order/serializers.py:208 order/serializers.py:1107 +#: build/serializers.py:545 order/serializers.py:202 order/serializers.py:1100 msgid "Accept Incomplete" msgstr "接受未完成" @@ -1229,8 +1235,8 @@ msgstr "所需生产数量尚未完成" msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:595 build/serializers.py:640 part/models.py:2801 -#: part/models.py:2935 +#: build/serializers.py:595 build/serializers.py:640 part/models.py:3414 +#: part/models.py:3570 msgid "BOM Item" msgstr "BOM项" @@ -1246,11 +1252,11 @@ msgstr "生产产出必须指向相同的生产" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单指向相同的部件" -#: build/serializers.py:669 stock/serializers.py:771 +#: build/serializers.py:669 stock/serializers.py:770 msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:727 order/serializers.py:1097 +#: build/serializers.py:727 order/serializers.py:1090 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出了限制" @@ -1267,7 +1273,7 @@ msgstr "对于未被追踪的部件,无法指定生产产出" msgid "This stock item has already been allocated to this build output" msgstr "此库存项已被分配至此生产产出" -#: build/serializers.py:768 order/serializers.py:1381 +#: build/serializers.py:768 order/serializers.py:1374 msgid "Allocation items must be provided" msgstr "必须提供分配的项" @@ -1382,13 +1388,13 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:154 -#: build/templates/build/detail.html:131 order/models.py:924 +#: build/templates/build/detail.html:131 order/models.py:947 #: order/templates/order/order_base.html:171 #: order/templates/order/sales_order_base.html:164 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2009 -#: templates/js/translated/order.js:2351 templates/js/translated/order.js:2847 -#: templates/js/translated/order.js:3887 templates/js/translated/part.js:1051 +#: templates/js/translated/build.js:2654 templates/js/translated/order.js:2043 +#: templates/js/translated/order.js:2374 templates/js/translated/order.js:2858 +#: templates/js/translated/order.js:3884 templates/js/translated/part.js:1078 msgid "Target Date" msgstr "预计日期" @@ -1401,29 +1407,29 @@ msgstr "此次生产的截止日期为 %(target)s" #: build/templates/build/build_base.html:204 #: order/templates/order/order_base.html:107 #: order/templates/order/sales_order_base.html:94 -#: templates/js/translated/table_filters.js:328 -#: templates/js/translated/table_filters.js:369 -#: templates/js/translated/table_filters.js:399 +#: templates/js/translated/table_filters.js:332 +#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:403 msgid "Overdue" msgstr "逾期" #: build/templates/build/build_base.html:166 #: build/templates/build/detail.html:67 build/templates/build/detail.html:142 #: order/templates/order/sales_order_base.html:171 -#: templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:412 msgid "Completed" msgstr "已完成" #: build/templates/build/build_base.html:179 -#: build/templates/build/detail.html:94 order/models.py:1119 -#: order/models.py:1213 order/models.py:1344 +#: build/templates/build/detail.html:94 order/models.py:1142 +#: order/models.py:1236 order/models.py:1367 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:368 #: templates/email/overdue_sales_order.html:15 -#: templates/js/translated/order.js:2793 +#: templates/js/translated/order.js:2804 templates/js/translated/pricing.js:637 msgid "Sales Order" msgstr "销售订单" @@ -1449,8 +1455,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1037 -#: templates/js/translated/order.js:1644 templates/js/translated/order.js:2393 +#: build/templates/build/detail.html:49 order/models.py:1060 +#: templates/js/translated/order.js:1678 templates/js/translated/order.js:2416 msgid "Destination" msgstr "" @@ -1462,14 +1468,14 @@ msgstr "" msgid "Allocated Parts" msgstr "" -#: build/templates/build/detail.html:80 +#: build/templates/build/detail.html:80 stock/admin.py:88 #: stock/templates/stock/item_base.html:168 #: templates/js/translated/build.js:1240 #: templates/js/translated/model_renderers.js:124 -#: templates/js/translated/stock.js:1026 templates/js/translated/stock.js:1845 -#: templates/js/translated/stock.js:2744 -#: templates/js/translated/table_filters.js:167 -#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/stock.js:1045 templates/js/translated/stock.js:1864 +#: templates/js/translated/stock.js:2762 +#: templates/js/translated/table_filters.js:171 +#: templates/js/translated/table_filters.js:262 msgid "Batch" msgstr "" @@ -1527,7 +1533,7 @@ msgstr "订单所需部件" #: build/templates/build/detail.html:187 #: company/templates/company/detail.html:37 #: company/templates/company/detail.html:85 -#: part/templates/part/category.html:178 templates/js/translated/order.js:1177 +#: part/templates/part/category.html:178 templates/js/translated/order.js:1211 msgid "Order Parts" msgstr "订购商品" @@ -1597,10 +1603,10 @@ msgstr "" #: company/templates/company/manufacturer_part.html:151 #: company/templates/company/manufacturer_part_sidebar.html:9 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:82 -#: order/templates/order/sales_order_detail.html:135 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:212 -#: part/templates/part/part_sidebar.html:57 stock/templates/stock/item.html:117 +#: order/templates/order/purchase_order_detail.html:86 +#: order/templates/order/sales_order_detail.html:140 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:210 +#: part/templates/part/part_sidebar.html:55 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "附件" @@ -1617,7 +1623,7 @@ msgstr "" msgid "All untracked stock items have been allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:318 +#: build/templates/build/index.html:18 part/templates/part/detail.html:316 msgid "New Build Order" msgstr "新建生产订单" @@ -1734,7 +1740,7 @@ msgstr "" msgid "Show the `about` modal only to superusers" msgstr "" -#: common/models.py:833 company/models.py:94 company/models.py:95 +#: common/models.py:833 company/models.py:98 company/models.py:99 msgid "Company name" msgstr "公司名称" @@ -1902,9 +1908,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1002 part/models.py:2474 report/models.py:158 -#: templates/js/translated/table_filters.js:38 -#: templates/js/translated/table_filters.js:492 +#: common/models.py:1002 part/admin.py:41 part/models.py:3087 +#: report/models.py:158 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:496 msgid "Template" msgstr "模板" @@ -1912,9 +1918,10 @@ msgstr "模板" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1009 part/models.py:908 templates/js/translated/bom.js:1531 -#: templates/js/translated/table_filters.js:184 -#: templates/js/translated/table_filters.js:455 +#: common/models.py:1009 part/admin.py:37 part/admin.py:229 part/models.py:927 +#: templates/js/translated/bom.js:1594 +#: templates/js/translated/table_filters.js:188 +#: templates/js/translated/table_filters.js:459 msgid "Assembly" msgstr "组装" @@ -1922,8 +1929,8 @@ msgstr "组装" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1016 part/models.py:914 -#: templates/js/translated/table_filters.js:463 +#: common/models.py:1016 part/admin.py:38 part/models.py:933 +#: templates/js/translated/table_filters.js:467 msgid "Component" msgstr "组件" @@ -1931,7 +1938,7 @@ msgstr "组件" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1023 part/models.py:925 +#: common/models.py:1023 part/admin.py:39 part/models.py:944 msgid "Purchaseable" msgstr "可购买" @@ -1939,8 +1946,8 @@ msgstr "可购买" msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1030 part/models.py:930 -#: templates/js/translated/table_filters.js:484 +#: common/models.py:1030 part/admin.py:40 part/models.py:949 +#: templates/js/translated/table_filters.js:488 msgid "Salable" msgstr "可销售" @@ -1948,10 +1955,10 @@ msgstr "可销售" msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1037 part/models.py:920 +#: common/models.py:1037 part/admin.py:42 part/models.py:939 #: templates/js/translated/table_filters.js:46 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:496 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:500 msgid "Trackable" msgstr "可追踪" @@ -1959,10 +1966,10 @@ msgstr "可追踪" msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1044 part/models.py:940 +#: common/models.py:1044 part/admin.py:43 part/models.py:959 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:42 -#: templates/js/translated/table_filters.js:500 +#: templates/js/translated/table_filters.js:504 msgid "Virtual" msgstr "虚拟" @@ -1979,791 +1986,837 @@ msgid "Display the import wizard in some part views" msgstr "在一些商品视图中显示导入向导" #: common/models.py:1058 -msgid "Show Price in Forms" -msgstr "在表格中显示价格" - -#: common/models.py:1059 -msgid "Display part price in some forms" -msgstr "以某些表格显示商品价格" - -#: common/models.py:1070 -msgid "Show Price in BOM" -msgstr "" - -#: common/models.py:1071 -msgid "Include pricing information in BOM tables" -msgstr "" - -#: common/models.py:1082 -msgid "Show Price History" -msgstr "" - -#: common/models.py:1083 -msgid "Display historical pricing for Part" -msgstr "" - -#: common/models.py:1089 msgid "Show related parts" msgstr "显示相关商品" -#: common/models.py:1090 +#: common/models.py:1059 msgid "Display related parts for a part" msgstr "" -#: common/models.py:1096 +#: common/models.py:1065 msgid "Create initial stock" msgstr "创建初始库存" -#: common/models.py:1097 +#: common/models.py:1066 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:1103 -msgid "Internal Prices" -msgstr "内部价格" - -#: common/models.py:1104 -msgid "Enable internal prices for parts" -msgstr "启用内部商品价格" - -#: common/models.py:1110 -msgid "Internal Price as BOM-Price" -msgstr "内部价格为BOM价格" - -#: common/models.py:1111 -msgid "Use the internal price (if set) in BOM-price calculations" -msgstr "在 BOM价格计算中使用内部价格(如设置)" - -#: common/models.py:1117 +#: common/models.py:1072 msgid "Part Name Display Format" msgstr "" -#: common/models.py:1118 +#: common/models.py:1073 msgid "Format to display the part name" msgstr "" -#: common/models.py:1125 +#: common/models.py:1080 msgid "Part Category Default Icon" msgstr "" -#: common/models.py:1126 +#: common/models.py:1081 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/models.py:1131 -msgid "Enable label printing" +#: common/models.py:1086 +msgid "Pricing Decimal Places" msgstr "" -#: common/models.py:1132 -msgid "Enable label printing from the web interface" +#: common/models.py:1087 +msgid "Number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1138 -msgid "Label Image DPI" +#: common/models.py:1097 +msgid "Pricing Rebuild Time" msgstr "" -#: common/models.py:1139 -msgid "DPI resolution when generating image files to supply to label printing plugins" +#: common/models.py:1098 +msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1148 -msgid "Enable Reports" -msgstr "" - -#: common/models.py:1149 -msgid "Enable generation of reports" -msgstr "" - -#: common/models.py:1155 templates/stats.html:25 -msgid "Debug Mode" -msgstr "调试模式" - -#: common/models.py:1156 -msgid "Generate reports in debug mode (HTML output)" -msgstr "在调试模式生成报告(HTML输出)" - -#: common/models.py:1162 -msgid "Page Size" -msgstr "页面大小" - -#: common/models.py:1163 -msgid "Default page size for PDF reports" -msgstr "PDF 报表默认页面大小" - -#: common/models.py:1173 -msgid "Enable Test Reports" -msgstr "" - -#: common/models.py:1174 -msgid "Enable generation of test reports" -msgstr "启用生成测试报表" - -#: common/models.py:1180 -msgid "Attach Test Reports" -msgstr "" - -#: common/models.py:1181 -msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" -msgstr "" - -#: common/models.py:1187 -msgid "Globally Unique Serials" -msgstr "" - -#: common/models.py:1188 -msgid "Serial numbers for stock items must be globally unique" -msgstr "" - -#: common/models.py:1194 -msgid "Batch Code Template" -msgstr "" - -#: common/models.py:1195 -msgid "Template for generating default batch codes for stock items" -msgstr "" - -#: common/models.py:1200 -msgid "Stock Expiry" -msgstr "库存到期" - -#: common/models.py:1201 -msgid "Enable stock expiry functionality" -msgstr "启用库存到期功能" - -#: common/models.py:1207 -msgid "Sell Expired Stock" -msgstr "销售过期库存" - -#: common/models.py:1208 -msgid "Allow sale of expired stock" -msgstr "允许销售过期库存" - -#: common/models.py:1214 -msgid "Stock Stale Time" -msgstr "" - -#: common/models.py:1215 -msgid "Number of days stock items are considered stale before expiring" -msgstr "" - -#: common/models.py:1217 +#: common/models.py:1099 common/models.py:1208 msgid "days" msgstr "天" -#: common/models.py:1222 +#: common/models.py:1108 +msgid "Internal Prices" +msgstr "内部价格" + +#: common/models.py:1109 +msgid "Enable internal prices for parts" +msgstr "启用内部商品价格" + +#: common/models.py:1115 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1116 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1122 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1123 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1129 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1130 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1139 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1140 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1146 templates/stats.html:25 +msgid "Debug Mode" +msgstr "调试模式" + +#: common/models.py:1147 +msgid "Generate reports in debug mode (HTML output)" +msgstr "在调试模式生成报告(HTML输出)" + +#: common/models.py:1153 +msgid "Page Size" +msgstr "页面大小" + +#: common/models.py:1154 +msgid "Default page size for PDF reports" +msgstr "PDF 报表默认页面大小" + +#: common/models.py:1164 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1165 +msgid "Enable generation of test reports" +msgstr "启用生成测试报表" + +#: common/models.py:1171 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1172 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1178 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1179 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1185 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1186 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1191 +msgid "Stock Expiry" +msgstr "库存到期" + +#: common/models.py:1192 +msgid "Enable stock expiry functionality" +msgstr "启用库存到期功能" + +#: common/models.py:1198 +msgid "Sell Expired Stock" +msgstr "销售过期库存" + +#: common/models.py:1199 +msgid "Allow sale of expired stock" +msgstr "允许销售过期库存" + +#: common/models.py:1205 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1206 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1213 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1223 +#: common/models.py:1214 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1229 +#: common/models.py:1220 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1230 +#: common/models.py:1221 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1236 +#: common/models.py:1227 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1237 +#: common/models.py:1228 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1242 +#: common/models.py:1233 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1243 +#: common/models.py:1234 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1249 +#: common/models.py:1240 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1250 +#: common/models.py:1241 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1256 +#: common/models.py:1247 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1257 +#: common/models.py:1248 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1263 +#: common/models.py:1254 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1255 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1261 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1264 +#: common/models.py:1262 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1271 +#: common/models.py:1268 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1269 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1276 msgid "Enable password forgot" msgstr "" -#: common/models.py:1272 +#: common/models.py:1277 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1278 +#: common/models.py:1283 msgid "Enable registration" msgstr "" -#: common/models.py:1279 +#: common/models.py:1284 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1285 +#: common/models.py:1290 msgid "Enable SSO" msgstr "" -#: common/models.py:1286 +#: common/models.py:1291 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1292 +#: common/models.py:1297 msgid "Email required" msgstr "" -#: common/models.py:1293 +#: common/models.py:1298 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1299 +#: common/models.py:1304 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1300 +#: common/models.py:1305 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1306 +#: common/models.py:1311 msgid "Mail twice" msgstr "" -#: common/models.py:1307 +#: common/models.py:1312 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1313 +#: common/models.py:1318 msgid "Password twice" msgstr "" -#: common/models.py:1314 +#: common/models.py:1319 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1320 +#: common/models.py:1325 msgid "Group on signup" msgstr "" -#: common/models.py:1321 +#: common/models.py:1326 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1327 +#: common/models.py:1332 msgid "Enforce MFA" msgstr "" -#: common/models.py:1328 +#: common/models.py:1333 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1334 +#: common/models.py:1339 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1335 +#: common/models.py:1340 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1342 +#: common/models.py:1347 msgid "Check plugin signatures" msgstr "" -#: common/models.py:1343 +#: common/models.py:1348 msgid "Check and show signatures for plugins" msgstr "" -#: common/models.py:1350 +#: common/models.py:1355 msgid "Enable URL integration" msgstr "" -#: common/models.py:1351 +#: common/models.py:1356 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1358 +#: common/models.py:1363 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1359 +#: common/models.py:1364 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1366 +#: common/models.py:1371 msgid "Enable app integration" msgstr "" -#: common/models.py:1367 +#: common/models.py:1372 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1374 +#: common/models.py:1379 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1375 +#: common/models.py:1380 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1382 +#: common/models.py:1387 msgid "Enable event integration" msgstr "" -#: common/models.py:1383 +#: common/models.py:1388 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1402 common/models.py:1737 +#: common/models.py:1407 common/models.py:1749 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1424 +#: common/models.py:1429 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1425 +#: common/models.py:1430 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1431 +#: common/models.py:1436 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1432 +#: common/models.py:1437 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1438 +#: common/models.py:1443 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:1439 +#: common/models.py:1444 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1445 +#: common/models.py:1450 msgid "Recent Part Count" msgstr "" -#: common/models.py:1446 +#: common/models.py:1451 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1452 +#: common/models.py:1457 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1453 +#: common/models.py:1458 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1459 +#: common/models.py:1464 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1460 +#: common/models.py:1465 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1466 +#: common/models.py:1471 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1467 +#: common/models.py:1472 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1473 +#: common/models.py:1478 msgid "Show low stock" msgstr "" -#: common/models.py:1474 +#: common/models.py:1479 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1480 +#: common/models.py:1485 msgid "Show depleted stock" msgstr "" -#: common/models.py:1481 +#: common/models.py:1486 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1487 +#: common/models.py:1492 msgid "Show needed stock" msgstr "" -#: common/models.py:1488 +#: common/models.py:1493 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1494 +#: common/models.py:1499 msgid "Show expired stock" msgstr "" -#: common/models.py:1495 +#: common/models.py:1500 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1501 +#: common/models.py:1506 msgid "Show stale stock" msgstr "" -#: common/models.py:1502 +#: common/models.py:1507 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1508 +#: common/models.py:1513 msgid "Show pending builds" msgstr "" -#: common/models.py:1509 +#: common/models.py:1514 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1515 +#: common/models.py:1520 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:1516 +#: common/models.py:1521 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:1522 +#: common/models.py:1527 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1523 +#: common/models.py:1528 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1529 +#: common/models.py:1534 msgid "Show overdue POs" msgstr "" -#: common/models.py:1530 +#: common/models.py:1535 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1536 +#: common/models.py:1541 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1537 +#: common/models.py:1542 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1543 +#: common/models.py:1548 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1544 +#: common/models.py:1549 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1550 +#: common/models.py:1555 +msgid "Show News" +msgstr "" + +#: common/models.py:1556 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:1562 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:1551 +#: common/models.py:1563 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:1557 +#: common/models.py:1569 msgid "Inline report display" msgstr "" -#: common/models.py:1558 +#: common/models.py:1570 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:1564 +#: common/models.py:1576 msgid "Search Parts" msgstr "" -#: common/models.py:1565 +#: common/models.py:1577 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1571 +#: common/models.py:1583 msgid "Seach Supplier Parts" msgstr "" -#: common/models.py:1572 +#: common/models.py:1584 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1578 +#: common/models.py:1590 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1579 +#: common/models.py:1591 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1585 +#: common/models.py:1597 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1586 +#: common/models.py:1598 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1592 +#: common/models.py:1604 msgid "Search Categories" msgstr "" -#: common/models.py:1593 +#: common/models.py:1605 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1599 +#: common/models.py:1611 msgid "Search Stock" msgstr "" -#: common/models.py:1600 +#: common/models.py:1612 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1606 +#: common/models.py:1618 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1607 +#: common/models.py:1619 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1613 +#: common/models.py:1625 msgid "Search Locations" msgstr "" -#: common/models.py:1614 +#: common/models.py:1626 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1620 +#: common/models.py:1632 msgid "Search Companies" msgstr "" -#: common/models.py:1621 +#: common/models.py:1633 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1627 +#: common/models.py:1639 msgid "Search Build Orders" msgstr "" -#: common/models.py:1628 +#: common/models.py:1640 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1634 +#: common/models.py:1646 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1635 +#: common/models.py:1647 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1641 +#: common/models.py:1653 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1642 +#: common/models.py:1654 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1648 +#: common/models.py:1660 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1649 +#: common/models.py:1661 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1655 +#: common/models.py:1667 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1656 +#: common/models.py:1668 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:1662 +#: common/models.py:1674 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:1663 +#: common/models.py:1675 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:1669 +#: common/models.py:1681 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:1670 +#: common/models.py:1682 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:1676 +#: common/models.py:1688 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:1677 +#: common/models.py:1689 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:1683 +#: common/models.py:1695 msgid "Fixed Navbar" msgstr "" -#: common/models.py:1684 +#: common/models.py:1696 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:1690 +#: common/models.py:1702 msgid "Date Format" msgstr "" -#: common/models.py:1691 +#: common/models.py:1703 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:1705 part/templates/part/detail.html:41 +#: common/models.py:1717 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:1706 +#: common/models.py:1718 msgid "Display part scheduling information" msgstr "" -#: common/models.py:1712 +#: common/models.py:1724 msgid "Table String Length" msgstr "" -#: common/models.py:1713 +#: common/models.py:1725 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:1777 +#: common/models.py:1789 msgid "Price break quantity" msgstr "" -#: common/models.py:1784 company/serializers.py:372 -#: company/templates/company/supplier_part.html:346 order/models.py:952 -#: templates/js/translated/part.js:1103 templates/js/translated/part.js:2225 +#: common/models.py:1796 company/serializers.py:393 order/models.py:975 +#: templates/js/translated/company.js:1164 templates/js/translated/part.js:1130 +#: templates/js/translated/pricing.js:354 msgid "Price" msgstr "价格" -#: common/models.py:1785 +#: common/models.py:1797 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1945 common/models.py:2123 +#: common/models.py:1957 common/models.py:2135 msgid "Endpoint" msgstr "" -#: common/models.py:1946 +#: common/models.py:1958 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1955 +#: common/models.py:1967 msgid "Name for this webhook" msgstr "" -#: common/models.py:1960 part/models.py:935 plugin/models.py:100 -#: templates/js/translated/table_filters.js:34 -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:324 -#: templates/js/translated/table_filters.js:450 +#: common/models.py:1972 part/admin.py:36 part/models.py:954 +#: plugin/models.py:100 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:116 +#: templates/js/translated/table_filters.js:328 +#: templates/js/translated/table_filters.js:454 msgid "Active" msgstr "" -#: common/models.py:1961 +#: common/models.py:1973 msgid "Is this webhook active" msgstr "" -#: common/models.py:1975 +#: common/models.py:1987 msgid "Token" msgstr "令牌" -#: common/models.py:1976 +#: common/models.py:1988 msgid "Token for access" msgstr "" -#: common/models.py:1983 +#: common/models.py:1995 msgid "Secret" msgstr "" -#: common/models.py:1984 +#: common/models.py:1996 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2090 +#: common/models.py:2102 msgid "Message ID" msgstr "" -#: common/models.py:2091 +#: common/models.py:2103 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2099 +#: common/models.py:2111 msgid "Host" msgstr "" -#: common/models.py:2100 +#: common/models.py:2112 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2107 +#: common/models.py:2119 msgid "Header" msgstr "" -#: common/models.py:2108 +#: common/models.py:2120 msgid "Header of this message" msgstr "" -#: common/models.py:2114 +#: common/models.py:2126 msgid "Body" msgstr "" -#: common/models.py:2115 +#: common/models.py:2127 msgid "Body of this message" msgstr "" -#: common/models.py:2124 +#: common/models.py:2136 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2129 +#: common/models.py:2141 msgid "Worked on" msgstr "" -#: common/models.py:2130 +#: common/models.py:2142 msgid "Was the work on this message finished?" msgstr "" +#: common/models.py:2302 +msgid "Id" +msgstr "" + +#: common/models.py:2308 templates/js/translated/news.js:34 +msgid "Title" +msgstr "" + +#: common/models.py:2318 templates/js/translated/news.js:50 +msgid "Published" +msgstr "" + +#: common/models.py:2323 templates/InvenTree/settings/plugin.html:62 +#: templates/InvenTree/settings/plugin_settings.html:33 +#: templates/js/translated/news.js:46 +msgid "Author" +msgstr "" + +#: common/models.py:2328 templates/js/translated/news.js:42 +msgid "Summary" +msgstr "" + +#: common/models.py:2333 +msgid "Read" +msgstr "" + +#: common/models.py:2334 +msgid "Was this news item read?" +msgstr "" + #: common/notifications.py:293 #, python-brace-format msgid "New {verbose_name}" @@ -2785,15 +2838,15 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/views.py:85 order/templates/order/purchase_order_detail.html:23 -#: order/views.py:102 part/views.py:112 +#: common/views.py:85 order/templates/order/purchase_order_detail.html:25 +#: order/views.py:102 part/views.py:107 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" msgstr "上传文件" #: common/views.py:86 order/views.py:103 #: part/templates/part/import_wizard/ajax_match_fields.html:45 -#: part/views.py:113 templates/patterns/wizard/match_fields.html:51 +#: part/views.py:108 templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" msgstr "匹配字段" @@ -2816,298 +2869,301 @@ msgstr "已导入商品" msgid "Previous Step" msgstr "" -#: company/models.py:99 +#: company/models.py:103 msgid "Company description" msgstr "公司简介" -#: company/models.py:100 +#: company/models.py:104 msgid "Description of the company" msgstr "公司简介" -#: company/models.py:106 company/templates/company/company_base.html:100 +#: company/models.py:110 company/templates/company/company_base.html:100 #: templates/InvenTree/settings/plugin_settings.html:55 -#: templates/js/translated/company.js:448 +#: templates/js/translated/company.js:449 msgid "Website" msgstr "网站" -#: company/models.py:107 +#: company/models.py:111 msgid "Company website URL" msgstr "公司网站" -#: company/models.py:111 company/templates/company/company_base.html:118 +#: company/models.py:115 company/templates/company/company_base.html:118 msgid "Address" msgstr "地址" -#: company/models.py:112 +#: company/models.py:116 msgid "Company address" msgstr "公司地址" -#: company/models.py:115 +#: company/models.py:119 msgid "Phone number" msgstr "电话号码" -#: company/models.py:116 +#: company/models.py:120 msgid "Contact phone number" msgstr "联系电话" -#: company/models.py:119 company/templates/company/company_base.html:132 +#: company/models.py:123 company/templates/company/company_base.html:132 #: templates/InvenTree/settings/user.html:48 msgid "Email" msgstr "电子邮件" -#: company/models.py:119 +#: company/models.py:123 msgid "Contact email address" msgstr "联系人电子邮件" -#: company/models.py:122 company/templates/company/company_base.html:139 +#: company/models.py:126 company/templates/company/company_base.html:139 msgid "Contact" msgstr "联系人" -#: company/models.py:123 +#: company/models.py:127 msgid "Point of contact" msgstr "" -#: company/models.py:125 +#: company/models.py:129 msgid "Link to external company information" msgstr "链接到外部公司信息" -#: company/models.py:136 part/models.py:829 +#: company/models.py:140 part/models.py:848 msgid "Image" msgstr "图片" -#: company/models.py:139 company/templates/company/detail.html:185 +#: company/models.py:143 company/templates/company/detail.html:185 msgid "Company Notes" msgstr "公司备注" -#: company/models.py:141 +#: company/models.py:145 msgid "is customer" msgstr "是客户" -#: company/models.py:141 +#: company/models.py:145 msgid "Do you sell items to this company?" msgstr "您是否向该公司出售商品?" -#: company/models.py:143 +#: company/models.py:147 msgid "is supplier" msgstr "是供应商" -#: company/models.py:143 +#: company/models.py:147 msgid "Do you purchase items from this company?" msgstr "您是否从该公司采购商品?" -#: company/models.py:145 +#: company/models.py:149 msgid "is manufacturer" msgstr "是制造商" -#: company/models.py:145 +#: company/models.py:149 msgid "Does this company manufacture parts?" msgstr "该公司制造商品吗?" -#: company/models.py:149 company/serializers.py:378 -#: company/templates/company/company_base.html:106 part/serializers.py:153 -#: part/serializers.py:184 stock/serializers.py:178 +#: company/models.py:153 company/serializers.py:399 +#: company/templates/company/company_base.html:106 part/models.py:2681 +#: part/serializers.py:153 part/serializers.py:181 stock/serializers.py:182 +#: templates/InvenTree/settings/pricing.html:59 msgid "Currency" msgstr "货币" -#: company/models.py:152 +#: company/models.py:156 msgid "Default currency used for this company" msgstr "该公司使用的默认货币" -#: company/models.py:249 company/models.py:483 stock/models.py:600 -#: stock/serializers.py:85 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:568 +#: company/models.py:253 company/models.py:487 stock/models.py:616 +#: stock/serializers.py:89 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:581 msgid "Base Part" msgstr "" -#: company/models.py:253 company/models.py:487 +#: company/models.py:257 company/models.py:491 msgid "Select part" msgstr "选择商品" -#: company/models.py:264 company/templates/company/company_base.html:76 +#: company/models.py:268 company/templates/company/company_base.html:76 #: company/templates/company/manufacturer_part.html:90 #: company/templates/company/supplier_part.html:152 #: stock/templates/stock/item_base.html:210 -#: templates/js/translated/company.js:432 -#: templates/js/translated/company.js:533 -#: templates/js/translated/company.js:668 -#: templates/js/translated/company.js:956 templates/js/translated/part.js:236 -#: templates/js/translated/table_filters.js:427 +#: templates/js/translated/company.js:433 +#: templates/js/translated/company.js:534 +#: templates/js/translated/company.js:669 +#: templates/js/translated/company.js:957 templates/js/translated/part.js:232 +#: templates/js/translated/table_filters.js:431 msgid "Manufacturer" msgstr "制造商" -#: company/models.py:265 templates/js/translated/part.js:237 +#: company/models.py:269 templates/js/translated/part.js:233 msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:271 company/templates/company/manufacturer_part.html:101 +#: company/models.py:275 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:160 -#: templates/js/translated/company.js:304 -#: templates/js/translated/company.js:532 -#: templates/js/translated/company.js:684 -#: templates/js/translated/company.js:975 templates/js/translated/order.js:2239 -#: templates/js/translated/part.js:247 templates/js/translated/part.js:1025 +#: templates/js/translated/company.js:305 +#: templates/js/translated/company.js:533 +#: templates/js/translated/company.js:685 +#: templates/js/translated/company.js:976 templates/js/translated/order.js:2278 +#: templates/js/translated/part.js:243 templates/js/translated/part.js:1052 msgid "MPN" msgstr "" -#: company/models.py:272 templates/js/translated/part.js:248 +#: company/models.py:276 templates/js/translated/part.js:244 msgid "Manufacturer Part Number" msgstr "制造商商品编号" -#: company/models.py:278 +#: company/models.py:282 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:284 +#: company/models.py:288 msgid "Manufacturer part description" msgstr "制造商商品描述" -#: company/models.py:329 company/models.py:353 company/models.py:506 +#: company/models.py:333 company/models.py:357 company/models.py:510 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:220 msgid "Manufacturer Part" msgstr "制造商商品" -#: company/models.py:360 +#: company/models.py:364 msgid "Parameter name" msgstr "参数名称" -#: company/models.py:366 +#: company/models.py:370 #: report/templates/report/inventree_test_report_base.html:95 -#: stock/models.py:2097 templates/js/translated/company.js:581 -#: templates/js/translated/company.js:799 templates/js/translated/part.js:847 -#: templates/js/translated/stock.js:1360 +#: stock/models.py:2113 templates/js/translated/company.js:582 +#: templates/js/translated/company.js:800 templates/js/translated/part.js:874 +#: templates/js/translated/stock.js:1379 msgid "Value" msgstr "数值" -#: company/models.py:367 +#: company/models.py:371 msgid "Parameter value" msgstr "参数值" -#: company/models.py:373 part/models.py:902 part/models.py:2434 -#: part/templates/part/part_base.html:286 +#: company/models.py:377 part/admin.py:26 part/models.py:921 +#: part/models.py:3047 part/templates/part/part_base.html:286 #: templates/InvenTree/settings/settings.html:349 -#: templates/js/translated/company.js:805 templates/js/translated/part.js:853 +#: templates/js/translated/company.js:806 templates/js/translated/part.js:880 msgid "Units" msgstr "单位" -#: company/models.py:374 +#: company/models.py:378 msgid "Parameter units" msgstr "参数单位" -#: company/models.py:451 +#: company/models.py:455 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:493 company/templates/company/company_base.html:81 -#: company/templates/company/supplier_part.html:136 order/models.py:263 -#: order/templates/order/order_base.html:121 part/bom.py:237 part/bom.py:265 +#: company/models.py:497 company/templates/company/company_base.html:81 +#: company/templates/company/supplier_part.html:136 order/models.py:264 +#: order/templates/order/order_base.html:121 part/bom.py:252 part/bom.py:280 #: stock/templates/stock/item_base.html:227 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:303 -#: templates/js/translated/company.js:436 -#: templates/js/translated/company.js:929 templates/js/translated/order.js:1975 -#: templates/js/translated/part.js:217 templates/js/translated/part.js:993 -#: templates/js/translated/table_filters.js:431 +#: templates/js/translated/company.js:304 +#: templates/js/translated/company.js:437 +#: templates/js/translated/company.js:930 templates/js/translated/order.js:2009 +#: templates/js/translated/part.js:213 templates/js/translated/part.js:1020 +#: templates/js/translated/pricing.js:231 +#: templates/js/translated/table_filters.js:435 msgid "Supplier" msgstr "供应商" -#: company/models.py:494 templates/js/translated/part.js:218 +#: company/models.py:498 templates/js/translated/part.js:214 msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:499 company/templates/company/supplier_part.html:146 -#: part/bom.py:238 part/bom.py:266 templates/js/translated/company.js:302 -#: templates/js/translated/order.js:2226 templates/js/translated/part.js:228 -#: templates/js/translated/part.js:1011 +#: company/models.py:503 company/templates/company/supplier_part.html:146 +#: part/bom.py:253 part/bom.py:281 templates/js/translated/company.js:303 +#: templates/js/translated/order.js:2265 templates/js/translated/part.js:224 +#: templates/js/translated/part.js:1038 templates/js/translated/pricing.js:243 msgid "SKU" msgstr "" -#: company/models.py:500 templates/js/translated/part.js:229 +#: company/models.py:504 templates/js/translated/part.js:225 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:507 +#: company/models.py:511 msgid "Select manufacturer part" msgstr "选择制造商商品" -#: company/models.py:513 +#: company/models.py:517 msgid "URL for external supplier part link" msgstr "外部供货商商品链接URL" -#: company/models.py:519 +#: company/models.py:523 msgid "Supplier part description" msgstr "供应商商品描述" -#: company/models.py:524 company/templates/company/supplier_part.html:181 -#: part/models.py:2687 part/templates/part/upload_bom.html:59 +#: company/models.py:528 company/templates/company/supplier_part.html:181 +#: part/admin.py:225 part/models.py:3300 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_po_report.html:92 -#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:403 +#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:397 msgid "Note" msgstr "备注" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "base cost" msgstr "" -#: company/models.py:528 part/models.py:1788 +#: company/models.py:532 part/models.py:1817 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" -#: company/models.py:530 company/templates/company/supplier_part.html:167 -#: stock/models.py:626 stock/templates/stock/item_base.html:243 -#: templates/js/translated/company.js:991 templates/js/translated/stock.js:1978 +#: company/models.py:534 company/templates/company/supplier_part.html:167 +#: stock/admin.py:101 stock/models.py:642 +#: stock/templates/stock/item_base.html:243 +#: templates/js/translated/company.js:992 templates/js/translated/stock.js:1996 msgid "Packaging" msgstr "打包" -#: company/models.py:530 +#: company/models.py:534 msgid "Part packaging" msgstr "商品打包" -#: company/models.py:533 company/serializers.py:242 +#: company/models.py:537 company/serializers.py:242 #: company/templates/company/supplier_part.html:174 -#: templates/js/translated/company.js:996 templates/js/translated/order.js:820 -#: templates/js/translated/order.js:1215 templates/js/translated/order.js:1470 -#: templates/js/translated/order.js:2270 templates/js/translated/order.js:2287 -#: templates/js/translated/part.js:1043 templates/js/translated/part.js:1095 +#: templates/js/translated/company.js:997 templates/js/translated/order.js:826 +#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1504 +#: templates/js/translated/order.js:2309 templates/js/translated/order.js:2326 +#: templates/js/translated/part.js:1070 templates/js/translated/part.js:1122 msgid "Pack Quantity" msgstr "" -#: company/models.py:534 +#: company/models.py:538 msgid "Unit quantity supplied in a single pack" msgstr "" -#: company/models.py:540 part/models.py:1790 +#: company/models.py:544 part/models.py:1819 msgid "multiple" msgstr "" -#: company/models.py:540 +#: company/models.py:544 msgid "Order multiple" msgstr "" -#: company/models.py:548 company/templates/company/supplier_part.html:115 +#: company/models.py:552 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/bom.js:963 templates/js/translated/build.js:1873 -#: templates/js/translated/build.js:2754 templates/js/translated/part.js:598 -#: templates/js/translated/part.js:601 -#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/bom.js:1117 templates/js/translated/build.js:1873 +#: templates/js/translated/build.js:2754 templates/js/translated/part.js:612 +#: templates/js/translated/part.js:615 +#: templates/js/translated/table_filters.js:198 msgid "Available" msgstr "空闲" -#: company/models.py:549 +#: company/models.py:553 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:553 +#: company/models.py:557 msgid "Availability Updated" msgstr "" -#: company/models.py:554 +#: company/models.py:558 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:682 +#: company/models.py:686 msgid "last updated" msgstr "" @@ -3121,7 +3177,7 @@ msgstr "货币代码" #: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:179 templates/js/translated/company.js:421 +#: templates/InvenTree/search.html:179 templates/js/translated/company.js:422 msgid "Company" msgstr "公司" @@ -3139,7 +3195,7 @@ msgid "Edit company information" msgstr "编辑公司信息" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:364 +#: templates/js/translated/company.js:365 msgid "Edit Company" msgstr "编辑公司信息" @@ -3162,14 +3218,14 @@ msgstr "上传新图片" msgid "Download image from URL" msgstr "从 URL 下载图片" -#: company/templates/company/company_base.html:86 order/models.py:646 -#: order/templates/order/sales_order_base.html:116 stock/models.py:645 -#: stock/models.py:646 stock/serializers.py:813 +#: company/templates/company/company_base.html:86 order/models.py:665 +#: order/templates/order/sales_order_base.html:116 stock/models.py:661 +#: stock/models.py:662 stock/serializers.py:812 #: stock/templates/stock/item_base.html:399 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:428 templates/js/translated/order.js:2808 -#: templates/js/translated/stock.js:2569 -#: templates/js/translated/table_filters.js:435 +#: templates/js/translated/company.js:429 templates/js/translated/order.js:2819 +#: templates/js/translated/stock.js:2587 +#: templates/js/translated/table_filters.js:439 msgid "Customer" msgstr "客户" @@ -3182,12 +3238,12 @@ msgid "Phone" msgstr "电话" #: company/templates/company/company_base.html:208 -#: part/templates/part/part_base.html:499 +#: part/templates/part/part_base.html:514 msgid "Upload Image" msgstr "上传图片" #: company/templates/company/company_base.html:223 -#: part/templates/part/part_base.html:554 +#: part/templates/part/part_base.html:569 msgid "Download Image" msgstr "下载图片" @@ -3203,7 +3259,7 @@ msgstr "创建新的供应商商品" #: company/templates/company/detail.html:19 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:359 +#: part/templates/part/detail.html:357 msgid "New Supplier Part" msgstr "新建供应商商品" @@ -3232,7 +3288,7 @@ msgstr "制造商商品" msgid "Create new manufacturer part" msgstr "新建制造商商品" -#: company/templates/company/detail.html:66 part/templates/part/detail.html:389 +#: company/templates/company/detail.html:66 part/templates/part/detail.html:387 msgid "New Manufacturer Part" msgstr "新建制造商商品" @@ -3246,7 +3302,7 @@ msgstr "供货商库存" #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:37 +#: part/templates/part/detail.html:84 part/templates/part/part_sidebar.html:35 #: templates/InvenTree/index.html:252 templates/InvenTree/search.html:200 #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/search.js:293 templates/navbar.html:50 @@ -3269,7 +3325,7 @@ msgstr "新建采购订单" #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:41 +#: part/templates/part/detail.html:107 part/templates/part/part_sidebar.html:39 #: templates/InvenTree/index.html:283 templates/InvenTree/search.html:220 #: templates/InvenTree/settings/sidebar.html:51 #: templates/js/translated/search.js:317 templates/navbar.html:61 @@ -3297,8 +3353,7 @@ msgid "Supplier List" msgstr "供应商列表" #: company/templates/company/manufacturer_part.html:15 company/views.py:38 -#: part/templates/part/prices.html:172 templates/InvenTree/search.html:181 -#: templates/navbar.html:49 +#: templates/InvenTree/search.html:181 templates/navbar.html:49 msgid "Manufacturers" msgstr "制造商" @@ -3309,12 +3364,12 @@ msgid "Order part" msgstr "订购商品" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:716 +#: templates/js/translated/company.js:717 msgid "Edit manufacturer part" msgstr "编辑制造商商品" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:717 +#: templates/js/translated/company.js:718 msgid "Delete manufacturer part" msgstr "删除生产商商品" @@ -3329,35 +3384,36 @@ msgstr "" #: company/templates/company/manufacturer_part.html:119 #: company/templates/company/supplier_part.html:15 company/views.py:32 -#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:168 +#: part/admin.py:46 part/templates/part/part_sidebar.html:33 #: templates/InvenTree/search.html:191 templates/navbar.html:48 msgid "Suppliers" msgstr "供应商" #: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:370 +#: part/templates/part/detail.html:368 msgid "Delete supplier parts" msgstr "删除供应商商品" #: company/templates/company/manufacturer_part.html:136 #: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:371 part/templates/part/detail.html:401 -#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:36 -#: users/models.py:222 +#: part/templates/part/detail.html:369 part/templates/part/detail.html:399 +#: templates/js/translated/forms.js:455 templates/js/translated/helpers.js:38 +#: templates/js/translated/part.js:340 templates/js/translated/stock.js:184 +#: users/models.py:224 msgid "Delete" msgstr "删除" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:19 -#: part/templates/part/detail.html:186 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:184 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "参数" #: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:191 +#: part/templates/part/detail.html:189 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part.html:68 +#: templates/InvenTree/settings/part.html:62 msgid "New Parameter" msgstr "新建参数" @@ -3366,7 +3422,7 @@ msgid "Delete parameters" msgstr "删除参数" #: company/templates/company/manufacturer_part.html:245 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:825 msgid "Add Parameter" msgstr "添加参数" @@ -3387,10 +3443,10 @@ msgid "Assigned Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:609 +#: company/templates/company/supplier_part.html:24 stock/models.py:625 #: stock/templates/stock/item_base.html:236 -#: templates/js/translated/company.js:945 templates/js/translated/order.js:1135 -#: templates/js/translated/stock.js:1935 +#: templates/js/translated/company.js:946 templates/js/translated/order.js:1169 +#: templates/js/translated/stock.js:1954 msgid "Supplier Part" msgstr "供应商商品" @@ -3441,13 +3497,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:247 +#: templates/js/translated/company.js:248 msgid "Edit Supplier Part" msgstr "编辑供应商商品" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:222 +#: templates/js/translated/company.js:223 msgid "Duplicate Supplier Part" msgstr "" @@ -3482,7 +3538,7 @@ msgstr "" #: company/templates/company/supplier_part.html:204 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:435 +#: templates/js/translated/stock.js:454 msgid "New Stock Item" msgstr "" @@ -3492,47 +3548,20 @@ msgid "Supplier Part Orders" msgstr "供应商商品订单" #: company/templates/company/supplier_part.html:242 -#: part/templates/part/prices.html:10 msgid "Pricing Information" msgstr "价格信息" #: company/templates/company/supplier_part.html:247 -#: company/templates/company/supplier_part.html:388 -#: part/templates/part/prices.html:276 templates/js/translated/part.js:2297 +#: company/templates/company/supplier_part.html:317 +#: templates/js/translated/pricing.js:413 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:282 +#: company/templates/company/supplier_part.html:285 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:300 -msgid "No price break information found" -msgstr "" - -#: company/templates/company/supplier_part.html:314 -#: templates/js/translated/part.js:2307 -msgid "Delete Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:328 -#: templates/js/translated/part.js:2321 -msgid "Edit Price Break" -msgstr "" - -#: company/templates/company/supplier_part.html:353 -msgid "Edit price break" -msgstr "" - -#: company/templates/company/supplier_part.html:354 -msgid "Delete price break" -msgstr "" - -#: company/templates/company/supplier_part.html:363 -msgid "Last updated" -msgstr "" - -#: company/templates/company/supplier_part.html:444 +#: company/templates/company/supplier_part.html:375 msgid "Update Part Availability" msgstr "" @@ -3542,9 +3571,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:749 templates/js/translated/part.js:1335 -#: templates/js/translated/part.js:1501 templates/js/translated/stock.js:959 -#: templates/js/translated/stock.js:1760 templates/navbar.html:31 +#: templates/js/translated/part.js:763 templates/js/translated/part.js:1356 +#: templates/js/translated/part.js:1512 templates/js/translated/stock.js:978 +#: templates/js/translated/stock.js:1779 templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -3558,19 +3587,20 @@ msgid "Supplier Part Pricing" msgstr "供应商商品价格" #: company/templates/company/supplier_part_navbar.html:29 -#: part/templates/part/part_sidebar.html:31 +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:35 msgid "Pricing" msgstr "定价" #: company/templates/company/supplier_part_sidebar.html:5 #: part/templates/part/category.html:198 -#: part/templates/part/category_sidebar.html:17 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:31 #: stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/search.js:225 -#: templates/js/translated/stock.js:2446 users/models.py:40 +#: templates/js/translated/stock.js:2464 users/models.py:40 msgid "Stock Items" msgstr "库存项" @@ -3672,438 +3702,439 @@ msgstr "商品查询筛选器 (逗号分隔的键值对列表)" msgid "No matching purchase order found" msgstr "" -#: order/models.py:82 +#: order/models.py:83 msgid "Order description" msgstr "" -#: order/models.py:84 order/models.py:1260 +#: order/models.py:85 order/models.py:1283 msgid "Link to external page" msgstr "" -#: order/models.py:92 +#: order/models.py:93 msgid "Created By" msgstr "" -#: order/models.py:99 +#: order/models.py:100 msgid "User or group responsible for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:104 +#: order/models.py:105 msgid "Order notes" msgstr "" -#: order/models.py:241 order/models.py:633 +#: order/models.py:242 order/models.py:652 msgid "Order reference" msgstr "" -#: order/models.py:249 order/models.py:651 +#: order/models.py:250 order/models.py:670 msgid "Purchase order status" msgstr "" -#: order/models.py:264 +#: order/models.py:265 msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" -#: order/models.py:267 order/templates/order/order_base.html:133 -#: templates/js/translated/order.js:1984 +#: order/models.py:268 order/templates/order/order_base.html:133 +#: templates/js/translated/order.js:2018 msgid "Supplier Reference" msgstr "" -#: order/models.py:267 +#: order/models.py:268 msgid "Supplier order reference code" msgstr "" -#: order/models.py:274 +#: order/models.py:275 msgid "received by" msgstr "" -#: order/models.py:279 +#: order/models.py:280 msgid "Issue Date" msgstr "" -#: order/models.py:280 +#: order/models.py:281 msgid "Date order was issued" msgstr "" -#: order/models.py:285 +#: order/models.py:286 msgid "Target Delivery Date" msgstr "" -#: order/models.py:286 +#: order/models.py:287 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:292 +#: order/models.py:293 msgid "Date order was completed" msgstr "" -#: order/models.py:328 +#: order/models.py:332 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:472 +#: order/models.py:491 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:647 +#: order/models.py:666 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer Reference " msgstr "" -#: order/models.py:658 +#: order/models.py:677 msgid "Customer order reference code" msgstr "" -#: order/models.py:663 +#: order/models.py:682 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:666 order/models.py:1218 -#: templates/js/translated/order.js:2855 templates/js/translated/order.js:3017 +#: order/models.py:685 order/models.py:1241 +#: templates/js/translated/order.js:2866 templates/js/translated/order.js:3028 msgid "Shipment Date" msgstr "" -#: order/models.py:673 +#: order/models.py:692 msgid "shipped by" msgstr "" -#: order/models.py:728 +#: order/models.py:747 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:732 +#: order/models.py:751 msgid "Only a pending order can be marked as complete" msgstr "" -#: order/models.py:735 templates/js/translated/order.js:419 +#: order/models.py:754 templates/js/translated/order.js:419 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:738 +#: order/models.py:757 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:912 +#: order/models.py:935 msgid "Item quantity" msgstr "" -#: order/models.py:918 +#: order/models.py:941 msgid "Line item reference" msgstr "" -#: order/models.py:920 +#: order/models.py:943 msgid "Line item notes" msgstr "" -#: order/models.py:925 +#: order/models.py:948 msgid "Target shipping date for this line item" msgstr "" -#: order/models.py:943 +#: order/models.py:966 msgid "Context" msgstr "" -#: order/models.py:944 +#: order/models.py:967 msgid "Additional context for this line" msgstr "" -#: order/models.py:953 +#: order/models.py:976 msgid "Unit price" msgstr "" -#: order/models.py:983 +#: order/models.py:1006 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:991 +#: order/models.py:1014 msgid "deleted" msgstr "" -#: order/models.py:997 order/models.py:1077 order/models.py:1118 -#: order/models.py:1212 order/models.py:1344 -#: templates/js/translated/order.js:3473 +#: order/models.py:1020 order/models.py:1100 order/models.py:1141 +#: order/models.py:1235 order/models.py:1367 +#: templates/js/translated/order.js:3484 msgid "Order" msgstr "" -#: order/models.py:998 order/models.py:1077 +#: order/models.py:1021 order/models.py:1100 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report.html:76 #: stock/templates/stock/item_base.html:182 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/order.js:619 templates/js/translated/order.js:1136 -#: templates/js/translated/order.js:1959 templates/js/translated/part.js:970 -#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2550 +#: templates/js/translated/order.js:619 templates/js/translated/order.js:1170 +#: templates/js/translated/order.js:1993 templates/js/translated/part.js:997 +#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1934 +#: templates/js/translated/stock.js:2568 msgid "Purchase Order" msgstr "" -#: order/models.py:1016 +#: order/models.py:1039 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1023 order/templates/order/order_base.html:178 -#: templates/js/translated/order.js:1641 templates/js/translated/order.js:2373 -#: templates/js/translated/part.js:1087 templates/js/translated/part.js:1125 -#: templates/js/translated/table_filters.js:346 +#: order/models.py:1046 order/templates/order/order_base.html:178 +#: templates/js/translated/order.js:1675 templates/js/translated/order.js:2396 +#: templates/js/translated/part.js:1114 templates/js/translated/part.js:1146 +#: templates/js/translated/table_filters.js:350 msgid "Received" msgstr "" -#: order/models.py:1024 +#: order/models.py:1047 msgid "Number of items received" msgstr "" -#: order/models.py:1031 part/templates/part/prices.html:181 stock/models.py:741 -#: stock/serializers.py:169 stock/templates/stock/item_base.html:189 -#: templates/js/translated/stock.js:1966 +#: order/models.py:1054 stock/models.py:757 stock/serializers.py:173 +#: stock/templates/stock/item_base.html:189 +#: templates/js/translated/stock.js:1985 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1032 +#: order/models.py:1055 msgid "Unit purchase price" msgstr "" -#: order/models.py:1040 +#: order/models.py:1063 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1106 +#: order/models.py:1129 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1111 +#: order/models.py:1134 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1137 part/templates/part/part_pricing.html:115 -#: part/templates/part/prices.html:121 part/templates/part/prices.html:290 +#: order/models.py:1160 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:665 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1138 +#: order/models.py:1161 msgid "Unit sale price" msgstr "" -#: order/models.py:1143 +#: order/models.py:1166 msgid "Shipped quantity" msgstr "" -#: order/models.py:1219 +#: order/models.py:1242 msgid "Date of shipment" msgstr "" -#: order/models.py:1226 +#: order/models.py:1249 msgid "Checked By" msgstr "" -#: order/models.py:1227 +#: order/models.py:1250 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1234 order/models.py:1419 order/serializers.py:1228 -#: order/serializers.py:1356 templates/js/translated/model_renderers.js:314 +#: order/models.py:1257 order/models.py:1442 order/serializers.py:1221 +#: order/serializers.py:1349 templates/js/translated/model_renderers.js:314 msgid "Shipment" msgstr "" -#: order/models.py:1235 +#: order/models.py:1258 msgid "Shipment number" msgstr "" -#: order/models.py:1239 +#: order/models.py:1262 msgid "Shipment notes" msgstr "" -#: order/models.py:1245 +#: order/models.py:1268 msgid "Tracking Number" msgstr "" -#: order/models.py:1246 +#: order/models.py:1269 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1253 +#: order/models.py:1276 msgid "Invoice Number" msgstr "" -#: order/models.py:1254 +#: order/models.py:1277 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1272 +#: order/models.py:1295 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1275 +#: order/models.py:1298 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1378 order/models.py:1380 +#: order/models.py:1401 order/models.py:1403 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1384 +#: order/models.py:1407 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1386 +#: order/models.py:1409 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1389 +#: order/models.py:1412 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1399 order/serializers.py:1090 +#: order/models.py:1422 order/serializers.py:1083 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1402 +#: order/models.py:1425 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1403 +#: order/models.py:1426 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1411 +#: order/models.py:1434 msgid "Line" msgstr "" -#: order/models.py:1420 +#: order/models.py:1443 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1433 templates/js/translated/notification.js:55 +#: order/models.py:1456 templates/js/translated/notification.js:55 msgid "Item" msgstr "" -#: order/models.py:1434 +#: order/models.py:1457 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1437 +#: order/models.py:1460 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:67 +#: order/serializers.py:63 msgid "Price currency" msgstr "" -#: order/serializers.py:199 +#: order/serializers.py:193 msgid "Order cannot be cancelled" msgstr "无法取消订单" -#: order/serializers.py:209 order/serializers.py:1108 +#: order/serializers.py:203 order/serializers.py:1101 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:220 order/serializers.py:1119 +#: order/serializers.py:214 order/serializers.py:1112 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:311 +#: order/serializers.py:305 msgid "Order is not open" msgstr "" -#: order/serializers.py:335 +#: order/serializers.py:327 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:354 +#: order/serializers.py:346 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:359 +#: order/serializers.py:351 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:365 +#: order/serializers.py:357 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:366 +#: order/serializers.py:358 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:430 order/serializers.py:1196 +#: order/serializers.py:421 order/serializers.py:1189 msgid "Line Item" msgstr "" -#: order/serializers.py:436 +#: order/serializers.py:427 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:446 order/serializers.py:557 +#: order/serializers.py:437 order/serializers.py:548 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:465 templates/js/translated/order.js:1497 +#: order/serializers.py:456 templates/js/translated/order.js:1531 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:473 templates/js/translated/order.js:1508 +#: order/serializers.py:464 templates/js/translated/order.js:1542 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:487 +#: order/serializers.py:478 msgid "Unique identifier field" msgstr "" -#: order/serializers.py:501 +#: order/serializers.py:492 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:527 +#: order/serializers.py:518 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:573 +#: order/serializers.py:564 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:590 +#: order/serializers.py:581 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:601 +#: order/serializers.py:592 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:907 +#: order/serializers.py:900 msgid "Sale price currency" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:981 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1051 order/serializers.py:1205 +#: order/serializers.py:1044 order/serializers.py:1198 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1073 +#: order/serializers.py:1066 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1218 +#: order/serializers.py:1211 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1240 order/serializers.py:1364 +#: order/serializers.py:1233 order/serializers.py:1357 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1243 order/serializers.py:1367 +#: order/serializers.py:1236 order/serializers.py:1360 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1297 +#: order/serializers.py:1290 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1307 +#: order/serializers.py:1300 msgid "The following serial numbers are already allocated" msgstr "" @@ -4154,7 +4185,8 @@ msgid "Duplicate order" msgstr "" #: order/templates/order/order_base.html:61 -msgid "Place order" +#: order/templates/order/order_base.html:62 +msgid "Submit Order" msgstr "" #: order/templates/order/order_base.html:65 @@ -4162,7 +4194,7 @@ msgid "Receive items" msgstr "" #: order/templates/order/order_base.html:67 -#: order/templates/order/purchase_order_detail.html:30 +#: order/templates/order/purchase_order_detail.html:32 msgid "Receive Items" msgstr "" @@ -4248,9 +4280,9 @@ msgstr "选择供应商商品" #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:102 templates/js/translated/build.js:479 #: templates/js/translated/build.js:631 templates/js/translated/build.js:2078 -#: templates/js/translated/order.js:1084 templates/js/translated/order.js:1586 -#: templates/js/translated/order.js:3092 templates/js/translated/stock.js:625 -#: templates/js/translated/stock.js:793 +#: templates/js/translated/order.js:1118 templates/js/translated/order.js:1620 +#: templates/js/translated/order.js:3103 templates/js/translated/stock.js:644 +#: templates/js/translated/stock.js:812 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "移除行" @@ -4278,42 +4310,42 @@ msgstr "" msgid "Received Stock" msgstr "" -#: order/templates/order/purchase_order_detail.html:17 +#: order/templates/order/purchase_order_detail.html:19 msgid "Purchase Order Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:26 -#: order/templates/order/sales_order_detail.html:22 -#: order/templates/order/sales_order_detail.html:255 +#: order/templates/order/purchase_order_detail.html:28 +#: order/templates/order/sales_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:260 #: templates/js/translated/order.js:728 msgid "Add Line Item" msgstr "" -#: order/templates/order/purchase_order_detail.html:29 +#: order/templates/order/purchase_order_detail.html:31 msgid "Receive selected items" msgstr "" -#: order/templates/order/purchase_order_detail.html:48 -#: order/templates/order/sales_order_detail.html:42 +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/sales_order_detail.html:45 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:280 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/sales_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:291 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 +#: order/templates/order/purchase_order_detail.html:76 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:97 -#: order/templates/order/sales_order_detail.html:150 +#: order/templates/order/purchase_order_detail.html:101 +#: order/templates/order/sales_order_detail.html:155 msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:232 +#: order/templates/order/purchase_order_detail.html:239 msgid "Add Order Line" msgstr "" @@ -4345,12 +4377,12 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/order.js:2821 +#: templates/js/translated/order.js:2832 msgid "Customer Reference" msgstr "" #: order/templates/order/sales_order_base.html:141 -#: order/templates/order/sales_order_detail.html:104 +#: order/templates/order/sales_order_detail.html:109 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" @@ -4359,22 +4391,22 @@ msgstr "" msgid "Edit Sales Order" msgstr "" -#: order/templates/order/sales_order_detail.html:17 +#: order/templates/order/sales_order_detail.html:18 msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:68 +#: order/templates/order/sales_order_detail.html:73 #: order/templates/order/so_sidebar.html:8 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:72 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1158 +#: order/templates/order/sales_order_detail.html:77 +#: templates/attachment_table.html:6 templates/js/translated/bom.js:1223 #: templates/js/translated/build.js:1979 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:81 +#: order/templates/order/sales_order_detail.html:86 msgid "New Shipment" msgstr "" @@ -4400,617 +4432,844 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/api.py:516 -msgid "Incoming Purchase Order" +#: part/admin.py:19 part/admin.py:219 part/models.py:3181 stock/admin.py:84 +#: templates/js/translated/model_renderers.js:212 +msgid "Part ID" +msgstr "商品ID" + +#: part/admin.py:20 part/admin.py:221 part/models.py:3185 stock/admin.py:85 +msgid "Part Name" msgstr "" -#: part/api.py:536 -msgid "Outgoing Sales Order" +#: part/admin.py:21 +msgid "Part Description" msgstr "" -#: part/api.py:554 -msgid "Stock produced by Build Order" +#: part/admin.py:22 part/models.py:822 part/templates/part/part_base.html:272 +#: templates/js/translated/part.js:751 templates/js/translated/part.js:1469 +#: templates/js/translated/stock.js:1745 +msgid "IPN" msgstr "" -#: part/api.py:640 -msgid "Stock required for Build Order" +#: part/admin.py:23 part/models.py:830 part/templates/part/part_base.html:279 +#: report/models.py:171 templates/js/translated/part.js:755 +msgid "Revision" msgstr "" -#: part/api.py:777 -msgid "Valid" +#: part/admin.py:24 part/admin.py:145 part/models.py:808 +#: part/templates/part/category.html:87 part/templates/part/part_base.html:300 +msgid "Keywords" +msgstr "关键词" + +#: part/admin.py:28 part/admin.py:139 +#: templates/js/translated/model_renderers.js:338 +msgid "Category ID" +msgstr "类别 ID" + +#: part/admin.py:29 part/admin.py:140 +msgid "Category Name" msgstr "" -#: part/api.py:778 -msgid "Validate entire Bill of Materials" +#: part/admin.py:30 part/admin.py:144 +msgid "Default Location ID" msgstr "" -#: part/api.py:784 -msgid "This option must be selected" +#: part/admin.py:31 +msgid "Default Supplier ID" msgstr "" -#: part/api.py:1207 -msgid "Must be greater than zero" -msgstr "必须大于0" +#: part/admin.py:33 part/models.py:914 part/templates/part/part_base.html:206 +msgid "Minimum Stock" +msgstr "最低库存" -#: part/api.py:1211 -msgid "Must be a valid quantity" -msgstr "必须是有效的数量" - -#: part/api.py:1226 -msgid "Specify location for initial part stock" -msgstr "指定初始初始商品仓储地点" - -#: part/api.py:1257 part/api.py:1261 part/api.py:1276 part/api.py:1280 -msgid "This field is required" -msgstr "此字段为必填" - -#: part/bom.py:127 part/models.py:98 part/models.py:838 -#: part/templates/part/category.html:109 part/templates/part/part_base.html:345 -msgid "Default Location" -msgstr "默认仓储地点" - -#: part/bom.py:128 templates/email/low_stock_notification.html:17 -msgid "Total Stock" +#: part/admin.py:47 part/templates/part/part_base.html:200 +#: templates/js/translated/company.js:1028 +#: templates/js/translated/table_filters.js:213 +msgid "In Stock" msgstr "" -#: part/bom.py:129 part/templates/part/part_base.html:195 -#: templates/js/translated/order.js:3913 -msgid "Available Stock" -msgstr "可用库存" - -#: part/bom.py:130 part/templates/part/part_base.html:213 -#: templates/js/translated/bom.js:1001 templates/js/translated/build.js:1925 -#: templates/js/translated/part.js:588 templates/js/translated/part.js:608 -#: templates/js/translated/part.js:1338 templates/js/translated/part.js:1526 +#: part/admin.py:48 part/bom.py:145 part/templates/part/part_base.html:213 +#: templates/js/translated/bom.js:1155 templates/js/translated/build.js:1925 +#: templates/js/translated/part.js:602 templates/js/translated/part.js:622 +#: templates/js/translated/part.js:1359 templates/js/translated/part.js:1537 #: templates/js/translated/table_filters.js:68 msgid "On Order" msgstr "" -#: part/forms.py:41 -msgid "Input quantity for price calculation" +#: part/admin.py:49 part/templates/part/part_sidebar.html:27 +msgid "Used In" msgstr "" -#: part/models.py:99 -msgid "Default location for parts in this category" -msgstr "此类别商品的默认仓储地点" - -#: part/models.py:102 -msgid "Default keywords" +#: part/admin.py:50 templates/js/translated/build.js:1937 +#: templates/js/translated/build.js:2195 templates/js/translated/build.js:2761 +#: templates/js/translated/order.js:3943 +msgid "Allocated" msgstr "" -#: part/models.py:102 -msgid "Default keywords for parts in this category" -msgstr "此类别商品的默认关键字" - -#: part/models.py:107 stock/models.py:85 -msgid "Icon" +#: part/admin.py:51 part/templates/part/part_base.html:244 +#: templates/js/translated/part.js:605 templates/js/translated/part.js:625 +#: templates/js/translated/part.js:1363 templates/js/translated/part.js:1544 +msgid "Building" msgstr "" -#: part/models.py:108 stock/models.py:86 -msgid "Icon (optional)" +#: part/admin.py:52 part/models.py:2765 +msgid "Minimum Cost" msgstr "" -#: part/models.py:122 part/models.py:2517 part/templates/part/category.html:16 -#: part/templates/part/part_app_base.html:10 -msgid "Part Category" -msgstr "商品类别" +#: part/admin.py:53 part/models.py:2771 +msgid "Maximum Cost" +msgstr "" -#: part/models.py:123 part/templates/part/category.html:129 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 -#: users/models.py:37 -msgid "Part Categories" -msgstr "商品类别" +#: part/admin.py:142 part/admin.py:216 stock/admin.py:26 stock/admin.py:98 +msgid "Parent ID" +msgstr "" -#: part/models.py:344 part/templates/part/cat_link.html:3 +#: part/admin.py:143 part/admin.py:218 stock/admin.py:27 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:146 part/templates/part/category.html:81 +#: part/templates/part/category.html:94 +msgid "Category Path" +msgstr "类别路径" + +#: part/admin.py:149 part/models.py:363 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:134 #: part/templates/part/category.html:154 #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:85 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:41 -#: templates/js/translated/part.js:2019 templates/js/translated/search.js:146 +#: templates/js/translated/part.js:2043 templates/js/translated/search.js:146 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "商品" -#: part/models.py:429 +#: part/admin.py:211 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:213 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:217 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:220 part/models.py:3189 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:226 templates/js/translated/pricing.js:91 +#: templates/js/translated/pricing.js:727 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:227 templates/js/translated/pricing.js:86 +#: templates/js/translated/pricing.js:735 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:532 +msgid "Incoming Purchase Order" +msgstr "" + +#: part/api.py:552 +msgid "Outgoing Sales Order" +msgstr "" + +#: part/api.py:570 +msgid "Stock produced by Build Order" +msgstr "" + +#: part/api.py:656 +msgid "Stock required for Build Order" +msgstr "" + +#: part/api.py:814 +msgid "Valid" +msgstr "" + +#: part/api.py:815 +msgid "Validate entire Bill of Materials" +msgstr "" + +#: part/api.py:821 +msgid "This option must be selected" +msgstr "" + +#: part/api.py:1261 +msgid "Must be greater than zero" +msgstr "必须大于0" + +#: part/api.py:1265 +msgid "Must be a valid quantity" +msgstr "必须是有效的数量" + +#: part/api.py:1280 +msgid "Specify location for initial part stock" +msgstr "指定初始初始商品仓储地点" + +#: part/api.py:1311 part/api.py:1315 part/api.py:1330 part/api.py:1334 +msgid "This field is required" +msgstr "此字段为必填" + +#: part/bom.py:142 part/models.py:116 part/models.py:857 +#: part/templates/part/category.html:109 part/templates/part/part_base.html:360 +msgid "Default Location" +msgstr "默认仓储地点" + +#: part/bom.py:143 templates/email/low_stock_notification.html:17 +msgid "Total Stock" +msgstr "" + +#: part/bom.py:144 part/templates/part/part_base.html:195 +#: templates/js/translated/order.js:3910 +msgid "Available Stock" +msgstr "可用库存" + +#: part/forms.py:41 +msgid "Input quantity for price calculation" +msgstr "" + +#: part/models.py:117 +msgid "Default location for parts in this category" +msgstr "此类别商品的默认仓储地点" + +#: part/models.py:120 +msgid "Default keywords" +msgstr "" + +#: part/models.py:120 +msgid "Default keywords for parts in this category" +msgstr "此类别商品的默认关键字" + +#: part/models.py:125 stock/models.py:101 +msgid "Icon" +msgstr "" + +#: part/models.py:126 stock/models.py:102 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:140 part/models.py:3130 part/templates/part/category.html:16 +#: part/templates/part/part_app_base.html:10 +msgid "Part Category" +msgstr "商品类别" + +#: part/models.py:141 part/templates/part/category.html:129 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: users/models.py:37 +msgid "Part Categories" +msgstr "商品类别" + +#: part/models.py:448 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:499 part/models.py:511 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:620 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:732 +#: part/models.py:751 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:759 part/models.py:2573 +#: part/models.py:778 part/models.py:3186 msgid "Part name" msgstr "商品名称" -#: part/models.py:766 +#: part/models.py:785 msgid "Is Template" msgstr "" -#: part/models.py:767 +#: part/models.py:786 msgid "Is this part a template part?" msgstr "" -#: part/models.py:777 +#: part/models.py:796 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:778 +#: part/models.py:797 msgid "Variant Of" msgstr "" -#: part/models.py:784 +#: part/models.py:803 msgid "Part description" msgstr "商品描述" -#: part/models.py:789 part/templates/part/category.html:87 -#: part/templates/part/part_base.html:300 -msgid "Keywords" -msgstr "关键词" - -#: part/models.py:790 +#: part/models.py:809 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:797 part/models.py:2272 part/models.py:2516 +#: part/models.py:816 part/models.py:2885 part/models.py:3129 #: part/templates/part/part_base.html:263 #: templates/InvenTree/settings/settings.html:229 #: templates/js/translated/notification.js:50 -#: templates/js/translated/part.js:1480 templates/js/translated/part.js:1724 +#: templates/js/translated/part.js:1491 templates/js/translated/part.js:1748 msgid "Category" msgstr "类别" -#: part/models.py:798 +#: part/models.py:817 msgid "Part category" msgstr "商品类别" -#: part/models.py:803 part/templates/part/part_base.html:272 -#: templates/js/translated/part.js:737 templates/js/translated/part.js:1431 -#: templates/js/translated/stock.js:1726 -msgid "IPN" -msgstr "" - -#: part/models.py:804 +#: part/models.py:823 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:810 +#: part/models.py:829 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:811 part/templates/part/part_base.html:279 -#: report/models.py:171 templates/js/translated/part.js:741 -msgid "Revision" -msgstr "" - -#: part/models.py:836 +#: part/models.py:855 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:881 part/templates/part/part_base.html:354 +#: part/models.py:900 part/templates/part/part_base.html:369 msgid "Default Supplier" msgstr "" -#: part/models.py:882 +#: part/models.py:901 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:889 +#: part/models.py:908 msgid "Default Expiry" msgstr "" -#: part/models.py:890 +#: part/models.py:909 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:895 part/templates/part/part_base.html:206 -msgid "Minimum Stock" -msgstr "最低库存" - -#: part/models.py:896 +#: part/models.py:915 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:903 +#: part/models.py:922 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:909 +#: part/models.py:928 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:915 +#: part/models.py:934 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:921 +#: part/models.py:940 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:926 +#: part/models.py:945 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:931 +#: part/models.py:950 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:936 +#: part/models.py:955 msgid "Is this part active?" msgstr "" -#: part/models.py:941 +#: part/models.py:960 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:943 +#: part/models.py:962 msgid "Part notes" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "BOM checksum" msgstr "" -#: part/models.py:945 +#: part/models.py:964 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:948 +#: part/models.py:967 msgid "BOM checked by" msgstr "" -#: part/models.py:950 +#: part/models.py:969 msgid "BOM checked date" msgstr "" -#: part/models.py:954 +#: part/models.py:973 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1790 +#: part/models.py:1819 msgid "Sell multiple" msgstr "" -#: part/models.py:2319 +#: part/models.py:2682 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:2687 +msgid "Updated" +msgstr "" + +#: part/models.py:2688 +msgid "Timestamp of last pricing update" +msgstr "" + +#: part/models.py:2705 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:2706 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:2711 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:2712 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:2717 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:2718 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:2723 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:2724 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:2729 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:2730 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2735 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:2736 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:2741 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:2742 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:2747 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:2748 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:2753 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:2754 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:2759 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:2760 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:2766 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:2772 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:2777 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:2778 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:2783 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:2784 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:2789 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:2790 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:2795 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:2796 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:2932 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2336 +#: part/models.py:2949 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2356 templates/js/translated/part.js:2070 -#: templates/js/translated/stock.js:1340 +#: part/models.py:2969 templates/js/translated/part.js:2094 +#: templates/js/translated/stock.js:1359 msgid "Test Name" msgstr "" -#: part/models.py:2357 +#: part/models.py:2970 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2362 +#: part/models.py:2975 msgid "Test Description" msgstr "" -#: part/models.py:2363 +#: part/models.py:2976 msgid "Enter description for this test" msgstr "" -#: part/models.py:2368 templates/js/translated/part.js:2079 -#: templates/js/translated/table_filters.js:310 +#: part/models.py:2981 templates/js/translated/part.js:2103 +#: templates/js/translated/table_filters.js:314 msgid "Required" msgstr "" -#: part/models.py:2369 +#: part/models.py:2982 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2374 templates/js/translated/part.js:2087 +#: part/models.py:2987 templates/js/translated/part.js:2111 msgid "Requires Value" msgstr "" -#: part/models.py:2375 +#: part/models.py:2988 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2380 templates/js/translated/part.js:2094 +#: part/models.py:2993 templates/js/translated/part.js:2118 msgid "Requires Attachment" msgstr "" -#: part/models.py:2381 +#: part/models.py:2994 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2422 +#: part/models.py:3035 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2430 +#: part/models.py:3043 msgid "Parameter Name" msgstr "" -#: part/models.py:2434 +#: part/models.py:3047 msgid "Parameter Units" msgstr "" -#: part/models.py:2439 +#: part/models.py:3052 msgid "Parameter description" msgstr "" -#: part/models.py:2472 +#: part/models.py:3085 msgid "Parent Part" msgstr "" -#: part/models.py:2474 part/models.py:2522 part/models.py:2523 +#: part/models.py:3087 part/models.py:3135 part/models.py:3136 #: templates/InvenTree/settings/settings.html:224 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Data" msgstr "" -#: part/models.py:2476 +#: part/models.py:3089 msgid "Parameter Value" msgstr "" -#: part/models.py:2527 templates/InvenTree/settings/settings.html:233 +#: part/models.py:3140 templates/InvenTree/settings/settings.html:233 msgid "Default Value" msgstr "默认值" -#: part/models.py:2528 +#: part/models.py:3141 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2565 +#: part/models.py:3178 msgid "Part ID or part name" msgstr "" -#: part/models.py:2568 templates/js/translated/model_renderers.js:212 -msgid "Part ID" -msgstr "商品ID" - -#: part/models.py:2569 +#: part/models.py:3182 msgid "Unique part ID value" msgstr "" -#: part/models.py:2572 -msgid "Part Name" -msgstr "" - -#: part/models.py:2576 -msgid "Part IPN" -msgstr "" - -#: part/models.py:2577 +#: part/models.py:3190 msgid "Part IPN value" msgstr "" -#: part/models.py:2580 +#: part/models.py:3193 msgid "Level" msgstr "" -#: part/models.py:2581 +#: part/models.py:3194 msgid "BOM level" msgstr "" -#: part/models.py:2650 +#: part/models.py:3263 msgid "Select parent part" msgstr "" -#: part/models.py:2658 +#: part/models.py:3271 msgid "Sub part" msgstr "" -#: part/models.py:2659 +#: part/models.py:3272 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2665 +#: part/models.py:3278 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2669 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:924 templates/js/translated/bom.js:1024 +#: part/models.py:3282 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986 #: templates/js/translated/build.js:1858 #: templates/js/translated/table_filters.js:84 -#: templates/js/translated/table_filters.js:108 +#: templates/js/translated/table_filters.js:112 msgid "Optional" msgstr "可选项" -#: part/models.py:2670 +#: part/models.py:3283 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2675 templates/js/translated/bom.js:920 -#: templates/js/translated/bom.js:1033 templates/js/translated/build.js:1849 +#: part/models.py:3288 templates/js/translated/bom.js:929 +#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1849 #: templates/js/translated/table_filters.js:88 msgid "Consumable" msgstr "" -#: part/models.py:2676 +#: part/models.py:3289 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:2680 part/templates/part/upload_bom.html:55 +#: part/models.py:3293 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:2681 +#: part/models.py:3294 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2684 +#: part/models.py:3297 msgid "BOM item reference" msgstr "" -#: part/models.py:2687 +#: part/models.py:3300 msgid "BOM item notes" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "Checksum" msgstr "" -#: part/models.py:2689 +#: part/models.py:3302 msgid "BOM line checksum" msgstr "" -#: part/models.py:2693 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1050 +#: part/models.py:3306 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1012 #: templates/js/translated/table_filters.js:76 -#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:108 msgid "Inherited" msgstr "继承项" -#: part/models.py:2694 +#: part/models.py:3307 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2699 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1042 +#: part/models.py:3312 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1004 msgid "Allow Variants" msgstr "" -#: part/models.py:2700 +#: part/models.py:3313 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2786 stock/models.py:502 +#: part/models.py:3399 stock/models.py:518 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2795 part/models.py:2797 +#: part/models.py:3408 part/models.py:3410 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2902 +#: part/models.py:3537 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:2923 +#: part/models.py:3558 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:2936 +#: part/models.py:3571 msgid "Parent BOM item" msgstr "" -#: part/models.py:2944 +#: part/models.py:3579 msgid "Substitute part" msgstr "" -#: part/models.py:2959 +#: part/models.py:3594 msgid "Part 1" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Part 2" msgstr "" -#: part/models.py:2963 +#: part/models.py:3598 msgid "Select Related Part" msgstr "" -#: part/models.py:2981 +#: part/models.py:3616 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:2985 +#: part/models.py:3620 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:154 part/serializers.py:185 stock/serializers.py:179 +#: part/serializers.py:154 part/serializers.py:182 stock/serializers.py:183 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:829 +#: part/serializers.py:542 +msgid "Update" +msgstr "" + +#: part/serializers.py:543 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:853 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:837 +#: part/serializers.py:861 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:862 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:867 msgid "Include Inherited" msgstr "" -#: part/serializers.py:844 +#: part/serializers.py:868 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:849 +#: part/serializers.py:873 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:850 +#: part/serializers.py:874 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:855 +#: part/serializers.py:879 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:856 +#: part/serializers.py:880 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:920 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:921 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:951 msgid "No part column specified" msgstr "" -#: part/serializers.py:970 +#: part/serializers.py:994 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:973 +#: part/serializers.py:997 msgid "No matching part found" msgstr "" -#: part/serializers.py:976 +#: part/serializers.py:1000 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:985 +#: part/serializers.py:1009 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:993 +#: part/serializers.py:1017 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1014 +#: part/serializers.py:1038 msgid "At least one BOM item is required" msgstr "" -#: part/tasks.py:21 +#: part/tasks.py:25 msgid "Low stock notification" msgstr "" -#: part/tasks.py:22 +#: part/tasks.py:26 #, python-brace-format msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" @@ -5034,7 +5293,7 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:269 +#: part/templates/part/bom.html:30 part/templates/part/detail.html:267 msgid "BOM actions" msgstr "" @@ -5070,10 +5329,6 @@ msgstr "" msgid "Delete Category" msgstr "" -#: part/templates/part/category.html:81 part/templates/part/category.html:94 -msgid "Category Path" -msgstr "类别路径" - #: part/templates/part/category.html:95 msgid "Top level part category" msgstr "" @@ -5091,12 +5346,12 @@ msgstr "商品 (包括子类别)" msgid "Create new part" msgstr "新建商品" -#: part/templates/part/category.html:159 templates/js/translated/bom.js:392 +#: part/templates/part/category.html:159 templates/js/translated/bom.js:405 msgid "New Part" msgstr "新商品" -#: part/templates/part/category.html:169 part/templates/part/detail.html:368 -#: part/templates/part/detail.html:399 +#: part/templates/part/category.html:169 part/templates/part/detail.html:366 +#: part/templates/part/detail.html:397 msgid "Options" msgstr "选项" @@ -5144,7 +5399,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:379 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:393 msgid "Duplicate Part" msgstr "复制部件" @@ -5176,7 +5431,8 @@ msgstr "商品库存" msgid "Refresh scheduling data" msgstr "" -#: part/templates/part/detail.html:45 templates/js/translated/tables.js:524 +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:524 msgid "Refresh" msgstr "" @@ -5192,123 +5448,103 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:143 +#: part/templates/part/detail.html:141 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:158 +#: part/templates/part/detail.html:156 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:162 +#: part/templates/part/detail.html:160 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:163 +#: part/templates/part/detail.html:161 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:190 +#: part/templates/part/detail.html:188 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:227 part/templates/part/part_sidebar.html:54 +#: part/templates/part/detail.html:225 part/templates/part/part_sidebar.html:52 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:231 part/templates/part/detail.html:232 +#: part/templates/part/detail.html:229 part/templates/part/detail.html:230 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:252 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:250 part/templates/part/part_sidebar.html:17 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:257 +#: part/templates/part/detail.html:255 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:261 templates/js/translated/bom.js:309 +#: part/templates/part/detail.html:259 templates/js/translated/bom.js:309 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:263 +#: part/templates/part/detail.html:261 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:273 +#: part/templates/part/detail.html:271 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:274 templates/js/translated/part.js:274 +#: part/templates/part/detail.html:272 templates/js/translated/part.js:270 msgid "Copy BOM" msgstr "" -#: part/templates/part/detail.html:275 +#: part/templates/part/detail.html:273 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:280 part/templates/part/detail.html:281 -#: templates/js/translated/bom.js:1202 templates/js/translated/bom.js:1203 +#: part/templates/part/detail.html:278 part/templates/part/detail.html:279 +#: templates/js/translated/bom.js:1267 templates/js/translated/bom.js:1268 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:294 +#: part/templates/part/detail.html:292 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:312 +#: part/templates/part/detail.html:310 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:339 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:337 stock/templates/stock/item.html:38 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:355 +#: part/templates/part/detail.html:353 msgid "Part Suppliers" msgstr "商品供应商" -#: part/templates/part/detail.html:385 +#: part/templates/part/detail.html:383 msgid "Part Manufacturers" msgstr "商品制造商" -#: part/templates/part/detail.html:401 +#: part/templates/part/detail.html:399 msgid "Delete manufacturer parts" msgstr "删除制造商商品" -#: part/templates/part/detail.html:658 +#: part/templates/part/detail.html:656 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:666 +#: part/templates/part/detail.html:664 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:758 +#: part/templates/part/detail.html:756 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:901 -#, python-format -msgid "Purchase Unit Price - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:913 -#, python-format -msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:925 -#, python-format -msgid "Supplier Unit Cost - %(currency)s" -msgstr "" - -#: part/templates/part/detail.html:1014 -#, python-format -msgid "Unit Price - %(currency)s" -msgstr "" - #: part/templates/part/import_wizard/ajax_match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" @@ -5439,15 +5675,15 @@ msgid "Part is virtual (not a physical part)" msgstr "商品是虚拟的(不是实体零件)" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:659 -#: templates/js/translated/company.js:920 +#: templates/js/translated/company.js:660 +#: templates/js/translated/company.js:921 #: templates/js/translated/model_renderers.js:204 -#: templates/js/translated/part.js:652 templates/js/translated/part.js:729 +#: templates/js/translated/part.js:666 templates/js/translated/part.js:743 msgid "Inactive" msgstr "" #: part/templates/part/part_base.html:165 -#: part/templates/part/part_base.html:620 +#: part/templates/part/part_base.html:635 msgid "Show Part Details" msgstr "" @@ -5456,12 +5692,6 @@ msgstr "" msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:200 -#: templates/js/translated/company.js:1027 -#: templates/js/translated/table_filters.js:209 -msgid "In Stock" -msgstr "" - #: part/templates/part/part_base.html:221 #: stock/templates/stock/item_base.html:382 msgid "Allocated to Build Orders" @@ -5472,100 +5702,91 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1100 +#: part/templates/part/part_base.html:238 templates/js/translated/bom.js:1165 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:244 templates/js/translated/part.js:591 -#: templates/js/translated/part.js:611 templates/js/translated/part.js:1342 -#: templates/js/translated/part.js:1533 -msgid "Building" -msgstr "" - #: part/templates/part/part_base.html:293 msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:330 +#: part/templates/part/part_base.html:330 templates/js/translated/bom.js:1032 +#: templates/js/translated/part.js:783 templates/js/translated/part.js:1582 +#: templates/js/translated/pricing.js:124 +#: templates/js/translated/pricing.js:757 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:345 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:334 +#: part/templates/part/part_base.html:349 #: stock/templates/stock/item_base.html:331 msgid "Search for serial number" msgstr "" -#: part/templates/part/part_base.html:431 +#: part/templates/part/part_base.html:446 msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:477 part/templates/part/prices.html:149 +#: part/templates/part/part_base.html:492 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:520 +#: part/templates/part/part_base.html:535 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:614 +#: part/templates/part/part_base.html:629 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:24 +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:78 +#: part/templates/part/prices.html:238 templates/js/translated/pricing.js:218 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:103 -#: part/templates/part/part_pricing.html:118 part/templates/part/prices.html:28 -#: part/templates/part/prices.html:55 part/templates/part/prices.html:108 -#: part/templates/part/prices.html:125 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:107 -#: part/templates/part/part_pricing.html:122 part/templates/part/prices.html:35 -#: part/templates/part/prices.html:62 part/templates/part/prices.html:113 -#: part/templates/part/prices.html:130 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 msgid "Total Cost" msgstr "" -#: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:43 -#: templates/js/translated/bom.js:1091 +#: part/templates/part/part_pricing.html:40 msgid "No supplier pricing available" msgstr "" -#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:52 -#: part/templates/part/prices.html:248 +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:94 +#: part/templates/part/prices.html:262 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:72 +#: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:72 part/templates/part/prices.html:79 +#: part/templates/part/part_pricing.html:72 msgid "Total Purchase Price" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:89 -msgid "Note: BOM pricing is incomplete for this part" -msgstr "注:此商品BOM价格不完整。" - -#: part/templates/part/part_pricing.html:91 part/templates/part/prices.html:98 +#: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:100 -#: part/templates/part/prices.html:107 +#: part/templates/part/part_pricing.html:92 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:131 -#: part/templates/part/prices.html:139 +#: part/templates/part/part_pricing.html:123 msgid "No pricing information is available for this part." msgstr "此商品无价格信息可用。" @@ -5573,7 +5794,8 @@ msgstr "此商品无价格信息可用。" #: report/templates/report/inventree_test_report_base.html:97 #: templates/InvenTree/settings/plugin.html:63 #: templates/InvenTree/settings/plugin_settings.html:38 -#: templates/js/translated/order.js:2001 templates/js/translated/stock.js:2478 +#: templates/js/translated/order.js:2035 templates/js/translated/pricing.js:537 +#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2496 msgid "Date" msgstr "" @@ -5585,15 +5807,11 @@ msgstr "" msgid "Variants" msgstr "" -#: part/templates/part/part_sidebar.html:27 -msgid "Used In" -msgstr "" - -#: part/templates/part/part_sidebar.html:46 +#: part/templates/part/part_sidebar.html:44 msgid "Scheduling" msgstr "" -#: part/templates/part/part_sidebar.html:50 +#: part/templates/part/part_sidebar.html:48 msgid "Test Templates" msgstr "" @@ -5601,74 +5819,82 @@ msgstr "" msgid "Select from existing images" msgstr "" -#: part/templates/part/prices.html:19 -msgid "Pricing ranges" +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" msgstr "" -#: part/templates/part/prices.html:25 -msgid "Show supplier cost" +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" msgstr "" -#: part/templates/part/prices.html:26 -msgid "Show purchase price" +#: part/templates/part/prices.html:25 stock/admin.py:106 +#: stock/templates/stock/item_base.html:440 +#: templates/js/translated/company.js:1039 +#: templates/js/translated/stock.js:1920 +msgid "Last Updated" msgstr "" -#: part/templates/part/prices.html:53 -msgid "Show BOM cost" +#: part/templates/part/prices.html:34 part/templates/part/prices.html:126 +msgid "Price Category" msgstr "" -#: part/templates/part/prices.html:122 -msgid "Show sale cost" +#: part/templates/part/prices.html:35 part/templates/part/prices.html:127 +msgid "Minimum" msgstr "" -#: part/templates/part/prices.html:123 -msgid "Show sale price" +#: part/templates/part/prices.html:36 part/templates/part/prices.html:128 +msgid "Maximum" msgstr "" -#: part/templates/part/prices.html:145 -msgid "Calculation parameters" +#: part/templates/part/prices.html:49 part/templates/part/prices.html:185 +msgid "Internal Pricing" msgstr "" -#: part/templates/part/prices.html:160 templates/js/translated/bom.js:1085 -msgid "Supplier Cost" +#: part/templates/part/prices.html:64 part/templates/part/prices.html:217 +msgid "Purchase History" msgstr "" -#: part/templates/part/prices.html:161 part/templates/part/prices.html:182 -#: part/templates/part/prices.html:206 part/templates/part/prices.html:236 -#: part/templates/part/prices.html:262 part/templates/part/prices.html:291 +#: part/templates/part/prices.html:103 part/templates/part/prices.html:286 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:111 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:155 part/templates/part/prices.html:338 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:168 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:175 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:186 part/templates/part/prices.html:218 +#: part/templates/part/prices.html:239 part/templates/part/prices.html:263 +#: part/templates/part/prices.html:287 part/templates/part/prices.html:310 +#: part/templates/part/prices.html:339 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:186 -msgid "Stock Pricing" -msgstr "" - -#: part/templates/part/prices.html:195 -msgid "No stock pricing history is available for this part." -msgstr "" - -#: part/templates/part/prices.html:205 -msgid "Internal Cost" -msgstr "" - -#: part/templates/part/prices.html:220 +#: part/templates/part/prices.html:191 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:235 -msgid "BOM Cost" +#: part/templates/part/prices.html:309 +msgid "Sale Pricing" msgstr "" -#: part/templates/part/prices.html:261 -msgid "Sale Cost" +#: part/templates/part/prices.html:315 +msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/prices.html:302 -msgid "No sale pice history available for this part." -msgstr "" - -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:614 -#: templates/js/translated/part.js:1330 templates/js/translated/part.js:1332 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:628 +#: templates/js/translated/part.js:1351 templates/js/translated/part.js:1353 msgid "No Stock" msgstr "" @@ -5722,40 +5948,36 @@ msgstr "" msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:177 +#: part/templatetags/inventree_extras.py:210 msgid "Unknown database" msgstr "" -#: part/templatetags/inventree_extras.py:229 +#: part/templatetags/inventree_extras.py:262 #, python-brace-format msgid "{title} v{version}" msgstr "" -#: part/views.py:114 +#: part/views.py:109 msgid "Match References" msgstr "" -#: part/views.py:415 -msgid "None" -msgstr "" - -#: part/views.py:477 +#: part/views.py:354 msgid "Part QR Code" msgstr "商品二维码" -#: part/views.py:495 +#: part/views.py:372 msgid "Select Part Image" msgstr "选择商品图像" -#: part/views.py:521 +#: part/views.py:398 msgid "Updated part image" msgstr "更新商品图像" -#: part/views.py:524 +#: part/views.py:401 msgid "Part image not found" msgstr "未找到商品图像" -#: part/views.py:613 +#: part/views.py:493 msgid "Part Pricing" msgstr "商品价格" @@ -6070,12 +6292,12 @@ msgid "Stock Item Test Report" msgstr "" #: report/templates/report/inventree_test_report_base.html:79 -#: stock/models.py:650 stock/templates/stock/item_base.html:320 +#: stock/models.py:666 stock/templates/stock/item_base.html:320 #: templates/js/translated/build.js:472 templates/js/translated/build.js:624 #: templates/js/translated/build.js:1234 templates/js/translated/build.js:1735 #: templates/js/translated/model_renderers.js:118 -#: templates/js/translated/order.js:121 templates/js/translated/order.js:3592 -#: templates/js/translated/order.js:3679 templates/js/translated/stock.js:490 +#: templates/js/translated/order.js:121 templates/js/translated/order.js:3603 +#: templates/js/translated/order.js:3690 templates/js/translated/stock.js:509 msgid "Serial Number" msgstr "序列号" @@ -6084,12 +6306,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:93 -#: stock/models.py:2085 +#: stock/models.py:2101 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:94 -#: stock/models.py:2091 +#: stock/models.py:2107 msgid "Result" msgstr "" @@ -6107,383 +6329,435 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:137 -#: templates/js/translated/stock.js:610 templates/js/translated/stock.js:780 -#: templates/js/translated/stock.js:2727 +#: stock/admin.py:87 templates/js/translated/stock.js:629 +#: templates/js/translated/stock.js:799 templates/js/translated/stock.js:2745 msgid "Serial" msgstr "" -#: stock/api.py:529 +#: stock/admin.py:23 stock/admin.py:90 +#: templates/js/translated/model_renderers.js:159 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:24 stock/admin.py:91 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:28 stock/templates/stock/location.html:123 +#: stock/templates/stock/location.html:129 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:83 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:92 templates/js/translated/model_renderers.js:418 +msgid "Supplier Part ID" +msgstr "供应商商品ID" + +#: stock/admin.py:93 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:94 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:95 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:96 stock/models.py:649 +#: stock/templates/stock/item_base.html:359 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:97 templates/js/translated/model_renderers.js:177 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:99 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:100 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:107 templates/js/translated/stock.js:1890 +msgid "Stocktake" +msgstr "" + +#: stock/admin.py:108 stock/models.py:724 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/stock.js:1904 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:539 msgid "Quantity is required" msgstr "" -#: stock/api.py:536 +#: stock/api.py:546 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:561 +#: stock/api.py:571 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" -#: stock/models.py:90 stock/models.py:746 +#: stock/models.py:106 stock/models.py:762 #: stock/templates/stock/item_base.html:250 msgid "Owner" msgstr "" -#: stock/models.py:91 stock/models.py:747 +#: stock/models.py:107 stock/models.py:763 msgid "Select Owner" msgstr "" -#: stock/models.py:508 stock/serializers.py:93 +#: stock/models.py:524 stock/serializers.py:97 msgid "Stock item cannot be created for virtual parts" msgstr "" -#: stock/models.py:525 +#: stock/models.py:541 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "商品类型 ('{pf}') 必须是 {pe}" -#: stock/models.py:535 stock/models.py:544 +#: stock/models.py:551 stock/models.py:560 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:536 +#: stock/models.py:552 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:558 +#: stock/models.py:574 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:564 +#: stock/models.py:580 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:578 +#: stock/models.py:594 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:592 +#: stock/models.py:608 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:602 +#: stock/models.py:618 msgid "Base part" msgstr "" -#: stock/models.py:610 +#: stock/models.py:626 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:617 stock/templates/stock/location.html:17 +#: stock/models.py:633 stock/templates/stock/location.html:17 #: stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "仓储地点" -#: stock/models.py:620 +#: stock/models.py:636 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:627 +#: stock/models.py:643 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:633 stock/templates/stock/item_base.html:359 -msgid "Installed In" -msgstr "" - -#: stock/models.py:636 +#: stock/models.py:652 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:652 +#: stock/models.py:668 msgid "Serial number for this item" msgstr "" -#: stock/models.py:666 +#: stock/models.py:682 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:671 +#: stock/models.py:687 msgid "Stock Quantity" msgstr "" -#: stock/models.py:680 +#: stock/models.py:696 msgid "Source Build" msgstr "" -#: stock/models.py:682 +#: stock/models.py:698 msgid "Build for this stock item" msgstr "" -#: stock/models.py:693 +#: stock/models.py:709 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:696 +#: stock/models.py:712 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:702 +#: stock/models.py:718 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:708 stock/templates/stock/item_base.html:427 -#: templates/js/translated/stock.js:1885 -msgid "Expiry Date" -msgstr "" - -#: stock/models.py:709 +#: stock/models.py:725 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete on deplete" msgstr "" -#: stock/models.py:722 +#: stock/models.py:738 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:734 stock/templates/stock/item.html:132 +#: stock/models.py:750 stock/templates/stock/item.html:132 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:742 +#: stock/models.py:758 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:770 +#: stock/models.py:786 msgid "Converted to part" msgstr "" -#: stock/models.py:1244 +#: stock/models.py:1260 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1250 +#: stock/models.py:1266 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1256 +#: stock/models.py:1272 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1259 +#: stock/models.py:1275 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1262 +#: stock/models.py:1278 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1269 +#: stock/models.py:1285 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1339 +#: stock/models.py:1355 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1342 +#: stock/models.py:1358 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1345 +#: stock/models.py:1361 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1348 +#: stock/models.py:1364 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1351 +#: stock/models.py:1367 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1354 +#: stock/models.py:1370 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1361 stock/serializers.py:963 +#: stock/models.py:1377 stock/serializers.py:962 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1365 +#: stock/models.py:1381 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1369 +#: stock/models.py:1385 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1373 +#: stock/models.py:1389 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1542 +#: stock/models.py:1558 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2003 +#: stock/models.py:2019 msgid "Entry notes" msgstr "" -#: stock/models.py:2061 +#: stock/models.py:2077 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2067 +#: stock/models.py:2083 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2086 +#: stock/models.py:2102 msgid "Test name" msgstr "" -#: stock/models.py:2092 +#: stock/models.py:2108 msgid "Test result" msgstr "" -#: stock/models.py:2098 +#: stock/models.py:2114 msgid "Test output value" msgstr "" -#: stock/models.py:2105 +#: stock/models.py:2121 msgid "Test result attachment" msgstr "" -#: stock/models.py:2111 +#: stock/models.py:2127 msgid "Test notes" msgstr "" -#: stock/serializers.py:71 +#: stock/serializers.py:75 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:172 +#: stock/serializers.py:176 msgid "Purchase price of this stock item" msgstr "" -#: stock/serializers.py:292 +#: stock/serializers.py:286 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:304 +#: stock/serializers.py:298 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:310 +#: stock/serializers.py:304 msgid "Enter serial numbers for new items" msgstr "输入新项目的序列号" -#: stock/serializers.py:321 stock/serializers.py:920 stock/serializers.py:1153 +#: stock/serializers.py:315 stock/serializers.py:919 stock/serializers.py:1152 msgid "Destination stock location" msgstr "目标库存位置" -#: stock/serializers.py:328 +#: stock/serializers.py:322 msgid "Optional note field" msgstr "" -#: stock/serializers.py:338 +#: stock/serializers.py:332 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:359 +#: stock/serializers.py:353 msgid "Serial numbers already exist" msgstr "序列号已存在" -#: stock/serializers.py:399 +#: stock/serializers.py:393 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:412 +#: stock/serializers.py:406 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:419 +#: stock/serializers.py:413 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:456 +#: stock/serializers.py:450 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:461 stock/serializers.py:542 +#: stock/serializers.py:455 stock/serializers.py:536 msgid "Add transaction note (optional)" msgstr "添加交易备注 (可选)" -#: stock/serializers.py:495 +#: stock/serializers.py:489 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:506 +#: stock/serializers.py:500 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:537 +#: stock/serializers.py:531 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:775 +#: stock/serializers.py:774 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:779 +#: stock/serializers.py:778 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:783 +#: stock/serializers.py:782 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:814 +#: stock/serializers.py:813 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:820 +#: stock/serializers.py:819 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:828 +#: stock/serializers.py:827 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:838 stock/serializers.py:1069 +#: stock/serializers.py:837 stock/serializers.py:1068 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:927 +#: stock/serializers.py:926 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:932 +#: stock/serializers.py:931 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:933 +#: stock/serializers.py:932 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:938 +#: stock/serializers.py:937 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:938 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:948 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1031 +#: stock/serializers.py:1030 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1059 +#: stock/serializers.py:1058 msgid "Stock transaction notes" msgstr "" @@ -6520,7 +6794,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2871 +#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2889 msgid "Install Stock Item" msgstr "" @@ -6528,7 +6802,7 @@ msgstr "" msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1522 +#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1541 msgid "Add Test Result" msgstr "" @@ -6687,7 +6961,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:431 -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:281 msgid "Expired" msgstr "" @@ -6697,16 +6971,10 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:283 +#: templates/js/translated/table_filters.js:287 msgid "Stale" msgstr "" -#: stock/templates/stock/item_base.html:440 -#: templates/js/translated/company.js:1038 -#: templates/js/translated/stock.js:1901 -msgid "Last Updated" -msgstr "" - #: stock/templates/stock/item_base.html:445 msgid "Last Stocktake" msgstr "" @@ -6783,11 +7051,6 @@ msgstr "编辑仓储地" msgid "Delete location" msgstr "删除仓储地" -#: stock/templates/stock/location.html:123 -#: stock/templates/stock/location.html:129 -msgid "Location Path" -msgstr "" - #: stock/templates/stock/location.html:130 msgid "Top level stock location" msgstr "" @@ -6960,6 +7223,14 @@ msgstr "" msgid "Overdue Sales Orders" msgstr "" +#: templates/InvenTree/index.html:312 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:314 +msgid "Current News" +msgstr "" + #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" msgstr "" @@ -7026,30 +7297,6 @@ msgstr "生产订单设置" msgid "Category Settings" msgstr "类别设置" -#: templates/InvenTree/settings/currencies.html:8 -msgid "Currency Settings" -msgstr "货币设置" - -#: templates/InvenTree/settings/currencies.html:19 -msgid "Base Currency" -msgstr "基础货币" - -#: templates/InvenTree/settings/currencies.html:24 -msgid "Exchange Rates" -msgstr "汇率" - -#: templates/InvenTree/settings/currencies.html:38 -msgid "Last Update" -msgstr "上次更新" - -#: templates/InvenTree/settings/currencies.html:44 -msgid "Never" -msgstr "从不" - -#: templates/InvenTree/settings/currencies.html:49 -msgid "Update Now" -msgstr "立即更新" - #: templates/InvenTree/settings/global.html:9 msgid "Server Settings" msgstr "" @@ -7090,15 +7337,15 @@ msgstr "" msgid "Part Settings" msgstr "商品设置" -#: templates/InvenTree/settings/part.html:46 +#: templates/InvenTree/settings/part.html:40 msgid "Part Import" msgstr "商品导入" -#: templates/InvenTree/settings/part.html:50 +#: templates/InvenTree/settings/part.html:44 msgid "Import Part" msgstr "导入商品" -#: templates/InvenTree/settings/part.html:64 +#: templates/InvenTree/settings/part.html:58 msgid "Part Parameter Templates" msgstr "商品参数模板" @@ -7125,11 +7372,6 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:62 -#: templates/InvenTree/settings/plugin_settings.html:33 -msgid "Author" -msgstr "" - #: templates/InvenTree/settings/plugin.html:64 #: templates/InvenTree/settings/plugin_settings.html:43 msgid "Version" @@ -7239,6 +7481,39 @@ msgstr "" msgid "Purchase Order Settings" msgstr "采购订单设置" +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:24 +msgid "Currency Settings" +msgstr "货币设置" + +#: templates/InvenTree/settings/pricing.html:30 +msgid "Update Now" +msgstr "立即更新" + +#: templates/InvenTree/settings/pricing.html:39 +#: templates/InvenTree/settings/pricing.html:43 +msgid "Last Update" +msgstr "上次更新" + +#: templates/InvenTree/settings/pricing.html:43 +msgid "Never" +msgstr "从不" + +#: templates/InvenTree/settings/pricing.html:53 +msgid "Base Currency" +msgstr "基础货币" + +#: templates/InvenTree/settings/pricing.html:58 +msgid "Exchange Rates" +msgstr "汇率" + +#: templates/InvenTree/settings/pricing.html:60 +msgid "Rate" +msgstr "" + #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reports.html:9 msgid "Report Settings" @@ -7295,6 +7570,7 @@ msgid "No part parameter templates found" msgstr "未找到商品参数模板" #: templates/InvenTree/settings/settings.html:338 +#: templates/js/translated/news.js:28 #: templates/js/translated/notification.js:36 msgid "ID" msgstr "" @@ -7357,10 +7633,6 @@ msgstr "" msgid "Server Configuration" msgstr "" -#: templates/InvenTree/settings/sidebar.html:35 -msgid "Currencies" -msgstr "" - #: templates/InvenTree/settings/sidebar.html:43 msgid "Categories" msgstr "" @@ -7380,7 +7652,7 @@ msgid "Change Password" msgstr "更改密码" #: templates/InvenTree/settings/user.html:23 -#: templates/js/translated/helpers.js:31 templates/notes_buttons.html:3 +#: templates/js/translated/helpers.js:33 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" msgstr "编辑" @@ -7890,7 +8162,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1566 +#: templates/js/translated/bom.js:1629 msgid "Required Quantity" msgstr "" @@ -7904,7 +8176,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:19 -#: templates/js/translated/part.js:2566 +#: templates/js/translated/part.js:2423 msgid "Minimum Quantity" msgstr "" @@ -8057,7 +8329,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1054 +#: templates/js/translated/barcode.js:500 templates/js/translated/stock.js:1073 msgid "Remove stock item" msgstr "" @@ -8127,10 +8399,10 @@ msgstr "" msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:646 +#: templates/js/translated/bom.js:158 templates/js/translated/bom.js:659 #: templates/js/translated/modals.js:56 templates/js/translated/modals.js:601 #: templates/js/translated/modals.js:695 templates/js/translated/modals.js:1003 -#: templates/js/translated/order.js:1179 templates/modals.html:15 +#: templates/js/translated/order.js:1213 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" @@ -8140,12 +8412,12 @@ msgid "Download BOM Template" msgstr "" #: templates/js/translated/bom.js:278 templates/js/translated/bom.js:312 -#: templates/js/translated/order.js:960 templates/js/translated/tables.js:145 +#: templates/js/translated/order.js:994 templates/js/translated/tables.js:145 msgid "Format" msgstr "" #: templates/js/translated/bom.js:279 templates/js/translated/bom.js:313 -#: templates/js/translated/order.js:961 +#: templates/js/translated/order.js:995 msgid "Select file format" msgstr "" @@ -8197,118 +8469,130 @@ msgstr "包含供应商数据" msgid "Include part supplier data in exported BOM" msgstr "在导出 BOM 中包含供应商数据" -#: templates/js/translated/bom.js:537 +#: templates/js/translated/bom.js:358 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:359 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:550 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:591 +#: templates/js/translated/bom.js:604 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:602 +#: templates/js/translated/bom.js:615 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:608 +#: templates/js/translated/bom.js:621 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:647 +#: templates/js/translated/bom.js:660 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:648 +#: templates/js/translated/bom.js:661 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:710 +#: templates/js/translated/bom.js:723 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:726 +#: templates/js/translated/bom.js:739 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:860 +#: templates/js/translated/bom.js:868 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:870 +#: templates/js/translated/bom.js:878 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:874 templates/js/translated/build.js:1835 +#: templates/js/translated/bom.js:882 templates/js/translated/build.js:1835 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:983 templates/js/translated/build.js:1907 -#: templates/js/translated/order.js:3927 -msgid "No Stock Available" -msgstr "" - -#: templates/js/translated/bom.js:988 templates/js/translated/build.js:1911 -msgid "Includes variant and substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:990 templates/js/translated/build.js:1913 -#: templates/js/translated/part.js:761 templates/js/translated/part.js:1539 -msgid "Includes variant stock" -msgstr "" - -#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1915 -msgid "Includes substitute stock" -msgstr "" - -#: templates/js/translated/bom.js:1010 +#: templates/js/translated/bom.js:972 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1061 templates/js/translated/bom.js:1195 +#: templates/js/translated/bom.js:1023 templates/js/translated/bom.js:1260 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1071 -msgid "Purchase Price Range" +#: templates/js/translated/bom.js:1094 +msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1078 -msgid "Purchase Price Average" +#: templates/js/translated/bom.js:1099 +msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1106 templates/js/translated/build.js:1898 +#: templates/js/translated/bom.js:1106 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1137 templates/js/translated/build.js:1907 +#: templates/js/translated/order.js:3924 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1142 templates/js/translated/build.js:1911 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1144 templates/js/translated/build.js:1913 +#: templates/js/translated/part.js:775 templates/js/translated/part.js:1550 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1146 templates/js/translated/build.js:1915 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1171 templates/js/translated/build.js:1898 #: templates/js/translated/build.js:1985 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1166 +#: templates/js/translated/bom.js:1231 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1168 +#: templates/js/translated/bom.js:1233 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1170 +#: templates/js/translated/bom.js:1235 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/bom.js:1369 +#: templates/js/translated/bom.js:1237 templates/js/translated/bom.js:1433 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1174 +#: templates/js/translated/bom.js:1239 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1280 templates/js/translated/build.js:1679 +#: templates/js/translated/bom.js:1344 templates/js/translated/build.js:1679 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1549 templates/js/translated/build.js:1818 +#: templates/js/translated/bom.js:1612 templates/js/translated/build.js:1818 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1575 +#: templates/js/translated/bom.js:1638 msgid "Inherited from parent BOM" msgstr "" @@ -8353,12 +8637,12 @@ msgid "Complete Build Order" msgstr "生产订单完成" #: templates/js/translated/build.js:311 templates/js/translated/stock.js:92 -#: templates/js/translated/stock.js:214 +#: templates/js/translated/stock.js:233 msgid "Next available serial number" msgstr "" #: templates/js/translated/build.js:313 templates/js/translated/stock.js:94 -#: templates/js/translated/stock.js:216 +#: templates/js/translated/stock.js:235 msgid "Latest serial number" msgstr "" @@ -8455,12 +8739,12 @@ msgid "No required tests for this build" msgstr "" #: templates/js/translated/build.js:1775 templates/js/translated/build.js:2765 -#: templates/js/translated/order.js:3627 +#: templates/js/translated/order.js:3638 msgid "Edit stock allocation" msgstr "" #: templates/js/translated/build.js:1777 templates/js/translated/build.js:2766 -#: templates/js/translated/order.js:3628 +#: templates/js/translated/order.js:3639 msgid "Delete stock allocation" msgstr "" @@ -8480,20 +8764,15 @@ msgstr "" msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3934 +#: templates/js/translated/build.js:1901 templates/js/translated/order.js:3931 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3932 +#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3929 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:1937 templates/js/translated/build.js:2195 -#: templates/js/translated/build.js:2761 templates/js/translated/order.js:3946 -msgid "Allocated" -msgstr "" - -#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4026 +#: templates/js/translated/build.js:1993 templates/js/translated/order.js:4023 msgid "Build stock" msgstr "" @@ -8501,21 +8780,21 @@ msgstr "" msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4019 +#: templates/js/translated/build.js:2000 templates/js/translated/order.js:4016 msgid "Allocate stock" msgstr "" #: templates/js/translated/build.js:2039 templates/js/translated/label.js:172 -#: templates/js/translated/order.js:1007 templates/js/translated/order.js:3154 +#: templates/js/translated/order.js:1041 templates/js/translated/order.js:3165 #: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "选择商品" -#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3155 +#: templates/js/translated/build.js:2040 templates/js/translated/order.js:3166 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3103 +#: templates/js/translated/build.js:2089 templates/js/translated/order.js:3114 msgid "Specify stock allocation quantity" msgstr "" @@ -8527,7 +8806,7 @@ msgstr "" msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3169 +#: templates/js/translated/build.js:2183 templates/js/translated/order.js:3180 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -8535,11 +8814,11 @@ msgstr "" msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3266 +#: templates/js/translated/build.js:2222 templates/js/translated/order.js:3277 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3343 +#: templates/js/translated/build.js:2294 templates/js/translated/order.js:3354 msgid "No matching stock items" msgstr "" @@ -8571,9 +8850,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1423 -#: templates/js/translated/part.js:1957 templates/js/translated/stock.js:1686 -#: templates/js/translated/stock.js:2390 +#: templates/js/translated/build.js:2558 templates/js/translated/part.js:1444 +#: templates/js/translated/part.js:1981 templates/js/translated/stock.js:1705 +#: templates/js/translated/stock.js:2408 msgid "Select" msgstr "" @@ -8585,7 +8864,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2657 +#: templates/js/translated/build.js:2636 templates/js/translated/stock.js:2675 msgid "No user information" msgstr "没有用户信息" @@ -8593,118 +8872,144 @@ msgstr "没有用户信息" msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:66 +#: templates/js/translated/company.js:67 msgid "Add Manufacturer" msgstr "添加制造商" -#: templates/js/translated/company.js:79 templates/js/translated/company.js:181 +#: templates/js/translated/company.js:80 templates/js/translated/company.js:182 msgid "Add Manufacturer Part" msgstr "添加制造商商品" -#: templates/js/translated/company.js:100 +#: templates/js/translated/company.js:101 msgid "Edit Manufacturer Part" msgstr "编辑制造商商品" -#: templates/js/translated/company.js:169 templates/js/translated/order.js:576 +#: templates/js/translated/company.js:170 templates/js/translated/order.js:576 msgid "Add Supplier" msgstr "添加供应商" -#: templates/js/translated/company.js:197 templates/js/translated/order.js:828 +#: templates/js/translated/company.js:198 templates/js/translated/order.js:862 msgid "Add Supplier Part" msgstr "添加供应商商品" -#: templates/js/translated/company.js:297 +#: templates/js/translated/company.js:298 msgid "All selected supplier parts will be deleted" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/company.js:313 +#: templates/js/translated/company.js:314 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:385 +#: templates/js/translated/company.js:386 msgid "Add new Company" msgstr "增加新的公司信息" -#: templates/js/translated/company.js:462 +#: templates/js/translated/company.js:463 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:471 +#: templates/js/translated/company.js:472 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:486 +#: templates/js/translated/company.js:487 msgid "No company information found" msgstr "未找到该公司信息" -#: templates/js/translated/company.js:527 +#: templates/js/translated/company.js:528 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:542 +#: templates/js/translated/company.js:543 msgid "Delete Manufacturer Parts" msgstr "删除制造商商品" -#: templates/js/translated/company.js:576 +#: templates/js/translated/company.js:577 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:590 +#: templates/js/translated/company.js:591 msgid "Delete Parameters" msgstr "删除参数" -#: templates/js/translated/company.js:631 +#: templates/js/translated/company.js:632 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:651 -#: templates/js/translated/company.js:912 templates/js/translated/part.js:636 -#: templates/js/translated/part.js:721 +#: templates/js/translated/company.js:652 +#: templates/js/translated/company.js:913 templates/js/translated/part.js:650 +#: templates/js/translated/part.js:735 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:655 -#: templates/js/translated/company.js:916 templates/js/translated/part.js:640 -#: templates/js/translated/part.js:725 +#: templates/js/translated/company.js:656 +#: templates/js/translated/company.js:917 templates/js/translated/part.js:654 +#: templates/js/translated/part.js:739 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:783 templates/js/translated/part.js:828 +#: templates/js/translated/company.js:784 templates/js/translated/part.js:855 msgid "No parameters found" msgstr "无指定参数" -#: templates/js/translated/company.js:820 templates/js/translated/part.js:870 +#: templates/js/translated/company.js:821 templates/js/translated/part.js:897 msgid "Edit parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:821 templates/js/translated/part.js:871 +#: templates/js/translated/company.js:822 templates/js/translated/part.js:898 msgid "Delete parameter" msgstr "删除参数" -#: templates/js/translated/company.js:840 templates/js/translated/part.js:888 +#: templates/js/translated/company.js:841 templates/js/translated/part.js:915 msgid "Edit Parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:851 templates/js/translated/part.js:900 +#: templates/js/translated/company.js:852 templates/js/translated/part.js:927 msgid "Delete Parameter" msgstr "删除参数" -#: templates/js/translated/company.js:891 +#: templates/js/translated/company.js:892 msgid "No supplier parts found" msgstr "未找到供应商商品" -#: templates/js/translated/company.js:1032 +#: templates/js/translated/company.js:1033 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1055 +#: templates/js/translated/company.js:1056 msgid "Edit supplier part" msgstr "编辑供应商商品" -#: templates/js/translated/company.js:1056 +#: templates/js/translated/company.js:1057 msgid "Delete supplier part" msgstr "删除供应商商品" +#: templates/js/translated/company.js:1112 +#: templates/js/translated/pricing.js:423 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1128 +#: templates/js/translated/pricing.js:437 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1145 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1174 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1180 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1181 +msgid "Delete price break" +msgstr "" + #: templates/js/translated/filters.js:178 #: templates/js/translated/filters.js:441 msgid "true" @@ -8785,27 +9090,27 @@ msgstr "" msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2638 +#: templates/js/translated/forms.js:2628 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2650 +#: templates/js/translated/forms.js:2640 msgid "Select Columns" msgstr "" -#: templates/js/translated/helpers.js:24 +#: templates/js/translated/helpers.js:26 msgid "YES" msgstr "" -#: templates/js/translated/helpers.js:26 +#: templates/js/translated/helpers.js:28 msgid "NO" msgstr "" -#: templates/js/translated/helpers.js:363 +#: templates/js/translated/helpers.js:434 msgid "Notes updated" msgstr "" @@ -8814,7 +9119,7 @@ msgid "Labels sent to printer" msgstr "" #: templates/js/translated/label.js:60 templates/js/translated/report.js:118 -#: templates/js/translated/stock.js:1078 +#: templates/js/translated/stock.js:1097 msgid "Select Stock Items" msgstr "选择库存项" @@ -8934,14 +9239,6 @@ msgstr "公司ID" msgid "Stock ID" msgstr "" -#: templates/js/translated/model_renderers.js:159 -msgid "Location ID" -msgstr "" - -#: templates/js/translated/model_renderers.js:177 -msgid "Build ID" -msgstr "" - #: templates/js/translated/model_renderers.js:278 #: templates/js/translated/model_renderers.js:303 msgid "Order ID" @@ -8952,17 +9249,13 @@ msgstr "" msgid "Shipment ID" msgstr "" -#: templates/js/translated/model_renderers.js:338 -msgid "Category ID" -msgstr "类别 ID" - #: templates/js/translated/model_renderers.js:381 msgid "Manufacturer Part ID" msgstr "制造商商品ID" -#: templates/js/translated/model_renderers.js:418 -msgid "Supplier Part ID" -msgstr "供应商商品ID" +#: templates/js/translated/news.js:23 +msgid "No news found" +msgstr "" #: templates/js/translated/notification.js:42 msgid "Age" @@ -9104,659 +9397,688 @@ msgstr "" msgid "Duplication Options" msgstr "" -#: templates/js/translated/order.js:957 +#: templates/js/translated/order.js:991 msgid "Export Order" msgstr "" -#: templates/js/translated/order.js:1008 +#: templates/js/translated/order.js:1042 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/order.js:1033 +#: templates/js/translated/order.js:1067 msgid "Quantity to order" msgstr "" -#: templates/js/translated/order.js:1042 +#: templates/js/translated/order.js:1076 msgid "New supplier part" msgstr "" -#: templates/js/translated/order.js:1060 +#: templates/js/translated/order.js:1094 msgid "New purchase order" msgstr "" -#: templates/js/translated/order.js:1093 +#: templates/js/translated/order.js:1127 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/order.js:1233 +#: templates/js/translated/order.js:1267 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/order.js:1252 +#: templates/js/translated/order.js:1286 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/order.js:1429 +#: templates/js/translated/order.js:1463 msgid "Select Line Items" msgstr "" -#: templates/js/translated/order.js:1430 +#: templates/js/translated/order.js:1464 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/order.js:1450 templates/js/translated/order.js:1563 +#: templates/js/translated/order.js:1484 templates/js/translated/order.js:1597 msgid "Add batch code" msgstr "" -#: templates/js/translated/order.js:1456 templates/js/translated/order.js:1574 +#: templates/js/translated/order.js:1490 templates/js/translated/order.js:1608 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/order.js:1471 +#: templates/js/translated/order.js:1505 msgid "Received Quantity" msgstr "" -#: templates/js/translated/order.js:1482 +#: templates/js/translated/order.js:1516 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/order.js:1546 templates/js/translated/stock.js:2146 +#: templates/js/translated/order.js:1580 templates/js/translated/stock.js:2164 msgid "Stock Status" msgstr "" -#: templates/js/translated/order.js:1639 +#: templates/js/translated/order.js:1673 msgid "Order Code" msgstr "订单编码" -#: templates/js/translated/order.js:1640 +#: templates/js/translated/order.js:1674 msgid "Ordered" msgstr "" -#: templates/js/translated/order.js:1642 +#: templates/js/translated/order.js:1676 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/order.js:1661 +#: templates/js/translated/order.js:1695 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/order.js:1662 +#: templates/js/translated/order.js:1696 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/order.js:1940 templates/js/translated/part.js:941 +#: templates/js/translated/order.js:1974 templates/js/translated/part.js:968 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:1967 templates/js/translated/order.js:2798 +#: templates/js/translated/order.js:2001 templates/js/translated/order.js:2809 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:2017 templates/js/translated/order.js:2863 -#: templates/js/translated/order.js:3004 +#: templates/js/translated/order.js:2051 templates/js/translated/order.js:2874 +#: templates/js/translated/order.js:3015 msgid "Items" msgstr "" -#: templates/js/translated/order.js:2115 templates/js/translated/order.js:4078 +#: templates/js/translated/order.js:2154 templates/js/translated/order.js:4075 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/order.js:2132 templates/js/translated/order.js:4100 +#: templates/js/translated/order.js:2171 templates/js/translated/order.js:4097 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/order.js:2145 templates/js/translated/order.js:4111 +#: templates/js/translated/order.js:2184 templates/js/translated/order.js:4108 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/order.js:2188 +#: templates/js/translated/order.js:2227 msgid "No line items found" msgstr "" -#: templates/js/translated/order.js:2215 templates/js/translated/order.js:3812 +#: templates/js/translated/order.js:2254 templates/js/translated/order.js:3827 msgid "Total" msgstr "" -#: templates/js/translated/order.js:2270 templates/js/translated/part.js:1043 -#: templates/js/translated/part.js:1095 +#: templates/js/translated/order.js:2309 templates/js/translated/part.js:1070 +#: templates/js/translated/part.js:1122 msgid "Total Quantity" msgstr "" -#: templates/js/translated/order.js:2301 templates/js/translated/order.js:2500 -#: templates/js/translated/order.js:3837 templates/js/translated/order.js:4342 -#: templates/js/translated/part.js:2199 templates/js/translated/part.js:2797 +#: templates/js/translated/order.js:2340 templates/js/translated/order.js:2527 +#: templates/js/translated/order.js:3852 templates/js/translated/order.js:4343 +#: templates/js/translated/pricing.js:260 +#: templates/js/translated/pricing.js:329 +#: templates/js/translated/pricing.js:545 msgid "Unit Price" msgstr "单价" -#: templates/js/translated/order.js:2316 templates/js/translated/order.js:2516 -#: templates/js/translated/order.js:3853 templates/js/translated/order.js:4358 +#: templates/js/translated/order.js:2350 templates/js/translated/order.js:2537 +#: templates/js/translated/order.js:3862 templates/js/translated/order.js:4353 msgid "Total Price" msgstr "" -#: templates/js/translated/order.js:2357 templates/js/translated/order.js:3895 -#: templates/js/translated/part.js:1079 +#: templates/js/translated/order.js:2380 templates/js/translated/order.js:3892 +#: templates/js/translated/part.js:1106 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/order.js:2416 templates/js/translated/part.js:1130 +#: templates/js/translated/order.js:2439 templates/js/translated/part.js:1151 msgid "Receive line item" msgstr "" -#: templates/js/translated/order.js:2420 templates/js/translated/order.js:4032 +#: templates/js/translated/order.js:2443 templates/js/translated/order.js:4029 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/order.js:2421 templates/js/translated/order.js:4033 +#: templates/js/translated/order.js:2444 templates/js/translated/order.js:4030 msgid "Edit line item" msgstr "" -#: templates/js/translated/order.js:2422 templates/js/translated/order.js:4037 +#: templates/js/translated/order.js:2445 templates/js/translated/order.js:4034 msgid "Delete line item" msgstr "" -#: templates/js/translated/order.js:2564 templates/js/translated/order.js:4406 +#: templates/js/translated/order.js:2574 templates/js/translated/order.js:4389 msgid "Duplicate line" msgstr "" -#: templates/js/translated/order.js:2565 templates/js/translated/order.js:4407 +#: templates/js/translated/order.js:2575 templates/js/translated/order.js:4390 msgid "Edit line" msgstr "" -#: templates/js/translated/order.js:2566 templates/js/translated/order.js:4408 +#: templates/js/translated/order.js:2576 templates/js/translated/order.js:4391 msgid "Delete line" msgstr "" -#: templates/js/translated/order.js:2595 templates/js/translated/order.js:4437 +#: templates/js/translated/order.js:2606 templates/js/translated/order.js:4420 msgid "Duplicate Line" msgstr "" -#: templates/js/translated/order.js:2616 templates/js/translated/order.js:4458 +#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4441 msgid "Edit Line" msgstr "" -#: templates/js/translated/order.js:2627 templates/js/translated/order.js:4469 +#: templates/js/translated/order.js:2638 templates/js/translated/order.js:4452 msgid "Delete Line" msgstr "" -#: templates/js/translated/order.js:2638 +#: templates/js/translated/order.js:2649 msgid "No matching line" msgstr "" -#: templates/js/translated/order.js:2749 +#: templates/js/translated/order.js:2760 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:2812 +#: templates/js/translated/order.js:2823 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:2910 +#: templates/js/translated/order.js:2921 msgid "Edit shipment" msgstr "" -#: templates/js/translated/order.js:2913 +#: templates/js/translated/order.js:2924 msgid "Complete shipment" msgstr "" -#: templates/js/translated/order.js:2918 +#: templates/js/translated/order.js:2929 msgid "Delete shipment" msgstr "" -#: templates/js/translated/order.js:2938 +#: templates/js/translated/order.js:2949 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/order.js:2955 +#: templates/js/translated/order.js:2966 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/order.js:2989 +#: templates/js/translated/order.js:3000 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/order.js:2999 +#: templates/js/translated/order.js:3010 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/order.js:3023 +#: templates/js/translated/order.js:3034 msgid "Not shipped" msgstr "" -#: templates/js/translated/order.js:3029 +#: templates/js/translated/order.js:3040 msgid "Tracking" msgstr "" -#: templates/js/translated/order.js:3033 +#: templates/js/translated/order.js:3044 msgid "Invoice" msgstr "" -#: templates/js/translated/order.js:3202 +#: templates/js/translated/order.js:3213 msgid "Add Shipment" msgstr "" -#: templates/js/translated/order.js:3253 +#: templates/js/translated/order.js:3264 msgid "Confirm stock allocation" msgstr "确认库存分配" -#: templates/js/translated/order.js:3254 +#: templates/js/translated/order.js:3265 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/order.js:3462 +#: templates/js/translated/order.js:3473 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/order.js:3541 +#: templates/js/translated/order.js:3552 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3558 +#: templates/js/translated/order.js:3569 msgid "Confirm Delete Operation" msgstr "确认删除操作" -#: templates/js/translated/order.js:3559 +#: templates/js/translated/order.js:3570 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/order.js:3604 templates/js/translated/order.js:3693 -#: templates/js/translated/stock.js:1602 +#: templates/js/translated/order.js:3615 templates/js/translated/order.js:3704 +#: templates/js/translated/stock.js:1621 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/order.js:3612 templates/js/translated/order.js:3702 +#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3713 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/order.js:4016 +#: templates/js/translated/order.js:4013 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/order.js:4022 +#: templates/js/translated/order.js:4019 msgid "Purchase stock" msgstr "" -#: templates/js/translated/order.js:4029 templates/js/translated/order.js:4227 +#: templates/js/translated/order.js:4026 templates/js/translated/order.js:4224 msgid "Calculate price" msgstr "" -#: templates/js/translated/order.js:4041 +#: templates/js/translated/order.js:4038 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/order.js:4044 +#: templates/js/translated/order.js:4041 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/order.js:4126 +#: templates/js/translated/order.js:4123 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/order.js:4235 +#: templates/js/translated/order.js:4232 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/order.js:4249 +#: templates/js/translated/order.js:4246 msgid "No matching line items" msgstr "" -#: templates/js/translated/order.js:4480 +#: templates/js/translated/order.js:4463 msgid "No matching lines" msgstr "" -#: templates/js/translated/part.js:56 +#: templates/js/translated/part.js:52 msgid "Part Attributes" msgstr "商品属性" -#: templates/js/translated/part.js:60 +#: templates/js/translated/part.js:56 msgid "Part Creation Options" msgstr "商品创建选项" -#: templates/js/translated/part.js:64 +#: templates/js/translated/part.js:60 msgid "Part Duplication Options" msgstr "商品重复选项" -#: templates/js/translated/part.js:68 +#: templates/js/translated/part.js:64 msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:82 +#: templates/js/translated/part.js:78 msgid "Add Part Category" msgstr "增加商品类别" -#: templates/js/translated/part.js:166 +#: templates/js/translated/part.js:162 msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:167 +#: templates/js/translated/part.js:163 msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:174 +#: templates/js/translated/part.js:170 msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:175 +#: templates/js/translated/part.js:171 msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:182 +#: templates/js/translated/part.js:178 msgid "Select destination stock location" msgstr "" -#: templates/js/translated/part.js:200 +#: templates/js/translated/part.js:196 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: templates/js/translated/part.js:201 +#: templates/js/translated/part.js:197 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:209 +#: templates/js/translated/part.js:205 msgid "Add Supplier Data" msgstr "" -#: templates/js/translated/part.js:210 +#: templates/js/translated/part.js:206 msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:266 +#: templates/js/translated/part.js:262 msgid "Copy Image" msgstr "" -#: templates/js/translated/part.js:267 +#: templates/js/translated/part.js:263 msgid "Copy image from original part" msgstr "" -#: templates/js/translated/part.js:275 +#: templates/js/translated/part.js:271 msgid "Copy bill of materials from original part" msgstr "" -#: templates/js/translated/part.js:282 +#: templates/js/translated/part.js:278 msgid "Copy Parameters" msgstr "" -#: templates/js/translated/part.js:283 +#: templates/js/translated/part.js:279 msgid "Copy parameter data from original part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:292 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:306 templates/js/translated/stock.js:118 +#: templates/js/translated/part.js:302 templates/js/translated/stock.js:118 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:322 +#: templates/js/translated/part.js:318 msgid "Edit Part Category" msgstr "编辑商品类别" -#: templates/js/translated/part.js:335 +#: templates/js/translated/part.js:331 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:337 -msgid "Any child categories will be moved to the parent of this category" +#: templates/js/translated/part.js:336 +msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:338 -msgid "Any parts in this category will be moved to the parent of this category" -msgstr "" - -#: templates/js/translated/part.js:343 +#: templates/js/translated/part.js:345 msgid "Delete Part Category" msgstr "删除商品类别" -#: templates/js/translated/part.js:369 +#: templates/js/translated/part.js:349 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:354 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:383 msgid "Edit Part" msgstr "编辑商品" -#: templates/js/translated/part.js:371 +#: templates/js/translated/part.js:385 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:382 +#: templates/js/translated/part.js:396 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:434 +#: templates/js/translated/part.js:448 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:435 +#: templates/js/translated/part.js:449 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:449 +#: templates/js/translated/part.js:463 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:451 +#: templates/js/translated/part.js:465 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:466 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:453 +#: templates/js/translated/part.js:467 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:460 +#: templates/js/translated/part.js:474 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:496 +#: templates/js/translated/part.js:510 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:498 +#: templates/js/translated/part.js:512 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:503 +#: templates/js/translated/part.js:517 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:505 +#: templates/js/translated/part.js:519 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:522 +#: templates/js/translated/part.js:536 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:532 +#: templates/js/translated/part.js:546 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:549 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:560 +#: templates/js/translated/part.js:574 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:584 templates/js/translated/part.js:1521 -#: templates/js/translated/table_filters.js:476 +#: templates/js/translated/part.js:598 templates/js/translated/part.js:1532 +#: templates/js/translated/table_filters.js:480 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:594 +#: templates/js/translated/part.js:608 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:628 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:642 templates/js/translated/part.js:727 msgid "Trackable part" msgstr "可追溯商品" -#: templates/js/translated/part.js:632 templates/js/translated/part.js:717 +#: templates/js/translated/part.js:646 templates/js/translated/part.js:731 msgid "Virtual part" msgstr "虚拟商品" -#: templates/js/translated/part.js:644 +#: templates/js/translated/part.js:658 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:648 +#: templates/js/translated/part.js:662 msgid "Salable part" msgstr "可销售商品" -#: templates/js/translated/part.js:776 +#: templates/js/translated/part.js:800 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1200 +#: templates/js/translated/part.js:1221 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1224 +#: templates/js/translated/part.js:1245 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:1291 templates/js/translated/part.js:1609 +#: templates/js/translated/part.js:1312 templates/js/translated/part.js:1633 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:1488 +#: templates/js/translated/part.js:1499 msgid "No category" msgstr "没有分类" -#: templates/js/translated/part.js:1519 +#: templates/js/translated/part.js:1530 msgid "No stock" msgstr "" -#: templates/js/translated/part.js:1543 +#: templates/js/translated/part.js:1554 msgid "Allocated to build orders" msgstr "" -#: templates/js/translated/part.js:1547 +#: templates/js/translated/part.js:1558 msgid "Allocated to sales orders" msgstr "" -#: templates/js/translated/part.js:1633 templates/js/translated/part.js:1876 -#: templates/js/translated/stock.js:2349 +#: templates/js/translated/part.js:1657 templates/js/translated/part.js:1900 +#: templates/js/translated/stock.js:2367 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:1649 +#: templates/js/translated/part.js:1673 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:1715 +#: templates/js/translated/part.js:1739 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:1720 +#: templates/js/translated/part.js:1744 msgid "Set Part Category" msgstr "设置商品类别" -#: templates/js/translated/part.js:1725 +#: templates/js/translated/part.js:1749 msgid "Select Part Category" msgstr "" -#: templates/js/translated/part.js:1738 +#: templates/js/translated/part.js:1762 msgid "Category is required" msgstr "" -#: templates/js/translated/part.js:1896 templates/js/translated/stock.js:2369 +#: templates/js/translated/part.js:1920 templates/js/translated/stock.js:2387 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:1976 +#: templates/js/translated/part.js:2000 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:1992 +#: templates/js/translated/part.js:2016 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2056 +#: templates/js/translated/part.js:2080 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2107 templates/js/translated/stock.js:1299 +#: templates/js/translated/part.js:2131 templates/js/translated/stock.js:1318 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2108 templates/js/translated/stock.js:1300 -#: templates/js/translated/stock.js:1560 +#: templates/js/translated/part.js:2132 templates/js/translated/stock.js:1319 +#: templates/js/translated/stock.js:1579 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2114 +#: templates/js/translated/part.js:2138 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2136 +#: templates/js/translated/part.js:2160 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2150 +#: templates/js/translated/part.js:2174 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2175 -#, python-brace-format -msgid "No ${human_name} information found" -msgstr "" - -#: templates/js/translated/part.js:2232 -#, python-brace-format -msgid "Edit ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2233 -#, python-brace-format -msgid "Delete ${human_name}" -msgstr "" - -#: templates/js/translated/part.js:2398 templates/js/translated/part.js:2399 +#: templates/js/translated/part.js:2255 templates/js/translated/part.js:2256 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2401 +#: templates/js/translated/part.js:2258 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2264 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:2457 +#: templates/js/translated/part.js:2314 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:2463 +#: templates/js/translated/part.js:2320 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:2559 +#: templates/js/translated/part.js:2416 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:2575 +#: templates/js/translated/part.js:2432 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:2620 +#: templates/js/translated/part.js:2477 msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/part.js:2721 -msgid "Single Price" -msgstr "" - -#: templates/js/translated/part.js:2740 -msgid "Single Price Difference" -msgstr "" - #: templates/js/translated/plugin.js:23 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/pricing.js:54 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:196 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:305 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:361 +#, python-brace-format +msgid "Edit ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:362 +#, python-brace-format +msgid "Delete ${human_name}" +msgstr "" + +#: templates/js/translated/pricing.js:480 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:502 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:602 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:624 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:708 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:748 +msgid "Variant Part" +msgstr "" + #: templates/js/translated/report.js:67 msgid "items selected" msgstr "" @@ -9855,364 +10177,364 @@ msgstr "" msgid "Are you sure you want to delete this stock location?" msgstr "确实要删除此仓储地点吗?" -#: templates/js/translated/stock.js:175 -msgid "Any child locations will be moved to the parent of this location" +#: templates/js/translated/stock.js:180 +msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:176 -msgid "Any stock items in this location will be moved to the parent of this location" -msgstr "" - -#: templates/js/translated/stock.js:182 +#: templates/js/translated/stock.js:189 msgid "Delete Stock Location" msgstr "删除仓储地点" -#: templates/js/translated/stock.js:227 +#: templates/js/translated/stock.js:193 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:198 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:246 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:266 +#: templates/js/translated/stock.js:285 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:272 +#: templates/js/translated/stock.js:291 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:337 +#: templates/js/translated/stock.js:356 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:357 +#: templates/js/translated/stock.js:376 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:373 +#: templates/js/translated/stock.js:392 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:378 +#: templates/js/translated/stock.js:397 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:399 +#: templates/js/translated/stock.js:418 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:449 +#: templates/js/translated/stock.js:468 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:462 +#: templates/js/translated/stock.js:481 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:487 +#: templates/js/translated/stock.js:506 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:491 templates/js/translated/stock.js:492 +#: templates/js/translated/stock.js:510 templates/js/translated/stock.js:511 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:508 +#: templates/js/translated/stock.js:527 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:528 +#: templates/js/translated/stock.js:547 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:537 +#: templates/js/translated/stock.js:556 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:660 +#: templates/js/translated/stock.js:679 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:661 +#: templates/js/translated/stock.js:680 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:738 +#: templates/js/translated/stock.js:757 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:739 +#: templates/js/translated/stock.js:758 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:741 +#: templates/js/translated/stock.js:760 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:742 +#: templates/js/translated/stock.js:761 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:828 +#: templates/js/translated/stock.js:847 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:829 +#: templates/js/translated/stock.js:848 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:924 +#: templates/js/translated/stock.js:943 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:925 +#: templates/js/translated/stock.js:944 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:931 +#: templates/js/translated/stock.js:950 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:932 +#: templates/js/translated/stock.js:951 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:936 +#: templates/js/translated/stock.js:955 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:937 +#: templates/js/translated/stock.js:956 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:941 +#: templates/js/translated/stock.js:960 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:942 users/models.py:218 +#: templates/js/translated/stock.js:961 users/models.py:220 msgid "Add" msgstr "添加" -#: templates/js/translated/stock.js:946 +#: templates/js/translated/stock.js:965 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1039 +#: templates/js/translated/stock.js:1058 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1079 +#: templates/js/translated/stock.js:1098 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1102 +#: templates/js/translated/stock.js:1121 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1257 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1240 +#: templates/js/translated/stock.js:1259 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1245 +#: templates/js/translated/stock.js:1264 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1292 +#: templates/js/translated/stock.js:1311 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1295 +#: templates/js/translated/stock.js:1314 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1321 +#: templates/js/translated/stock.js:1340 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1378 +#: templates/js/translated/stock.js:1397 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1543 +#: templates/js/translated/stock.js:1562 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1565 +#: templates/js/translated/stock.js:1584 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1594 +#: templates/js/translated/stock.js:1613 msgid "In production" msgstr "正在生产" -#: templates/js/translated/stock.js:1598 +#: templates/js/translated/stock.js:1617 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1606 +#: templates/js/translated/stock.js:1625 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1612 +#: templates/js/translated/stock.js:1631 msgid "No stock location set" msgstr "未设置仓储地点" -#: templates/js/translated/stock.js:1781 +#: templates/js/translated/stock.js:1800 msgid "Stock item is in production" msgstr "库存品正在生产" -#: templates/js/translated/stock.js:1786 +#: templates/js/translated/stock.js:1805 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1789 +#: templates/js/translated/stock.js:1808 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1792 +#: templates/js/translated/stock.js:1811 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1794 +#: templates/js/translated/stock.js:1813 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1796 +#: templates/js/translated/stock.js:1815 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1799 +#: templates/js/translated/stock.js:1818 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1803 +#: templates/js/translated/stock.js:1822 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1805 +#: templates/js/translated/stock.js:1824 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1812 +#: templates/js/translated/stock.js:1831 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1814 +#: templates/js/translated/stock.js:1833 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1816 +#: templates/js/translated/stock.js:1835 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1820 -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/stock.js:1839 +#: templates/js/translated/table_filters.js:208 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1871 -msgid "Stocktake" -msgstr "" - -#: templates/js/translated/stock.js:1950 +#: templates/js/translated/stock.js:1969 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1988 +#: templates/js/translated/stock.js:2006 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2161 +#: templates/js/translated/stock.js:2179 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:2175 +#: templates/js/translated/stock.js:2193 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:2176 +#: templates/js/translated/stock.js:2194 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:2408 +#: templates/js/translated/stock.js:2426 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2503 +#: templates/js/translated/stock.js:2521 msgid "Details" msgstr "详情" -#: templates/js/translated/stock.js:2519 +#: templates/js/translated/stock.js:2537 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2541 +#: templates/js/translated/stock.js:2559 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2560 +#: templates/js/translated/stock.js:2578 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2579 +#: templates/js/translated/stock.js:2597 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2597 +#: templates/js/translated/stock.js:2615 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2620 +#: templates/js/translated/stock.js:2638 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2628 +#: templates/js/translated/stock.js:2646 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2704 +#: templates/js/translated/stock.js:2722 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2755 templates/js/translated/stock.js:2791 +#: templates/js/translated/stock.js:2773 templates/js/translated/stock.js:2809 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2822 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2825 +#: templates/js/translated/stock.js:2843 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2844 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2828 +#: templates/js/translated/stock.js:2846 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2829 +#: templates/js/translated/stock.js:2847 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2830 +#: templates/js/translated/stock.js:2848 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2831 +#: templates/js/translated/stock.js:2849 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2844 +#: templates/js/translated/stock.js:2862 msgid "Select part to install" msgstr "" @@ -10236,215 +10558,220 @@ msgstr "" msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:126 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:508 +msgid "Has Pricing" +msgstr "" + +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:203 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:127 +#: templates/js/translated/table_filters.js:131 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:137 -#: templates/js/translated/table_filters.js:138 -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:142 +#: templates/js/translated/table_filters.js:449 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:142 -#: templates/js/translated/table_filters.js:488 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:492 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:152 -#: templates/js/translated/table_filters.js:234 -msgid "Is Serialized" -msgstr "" - -#: templates/js/translated/table_filters.js:155 -#: templates/js/translated/table_filters.js:241 -msgid "Serial number GTE" -msgstr "" - #: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:242 -msgid "Serial number greater than or equal to" +#: templates/js/translated/table_filters.js:238 +msgid "Is Serialized" msgstr "" #: templates/js/translated/table_filters.js:159 #: templates/js/translated/table_filters.js:245 -msgid "Serial number LTE" +msgid "Serial number GTE" msgstr "" #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:246 -msgid "Serial number less than or equal to" +msgid "Serial number greater than or equal to" msgstr "" #: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:249 +msgid "Serial number LTE" +msgstr "" + #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:237 -#: templates/js/translated/table_filters.js:238 +#: templates/js/translated/table_filters.js:250 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:167 +#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:241 +#: templates/js/translated/table_filters.js:242 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:168 -#: templates/js/translated/table_filters.js:259 +#: templates/js/translated/table_filters.js:172 +#: templates/js/translated/table_filters.js:263 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:179 -#: templates/js/translated/table_filters.js:417 +#: templates/js/translated/table_filters.js:183 +#: templates/js/translated/table_filters.js:421 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:180 +#: templates/js/translated/table_filters.js:184 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:189 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:193 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:194 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:199 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:200 +#: templates/js/translated/table_filters.js:204 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:209 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:214 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:214 +#: templates/js/translated/table_filters.js:218 msgid "In Production" msgstr "正在生产" -#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:219 msgid "Show items which are in production" msgstr "显示正在生产的项目" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:223 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:220 +#: templates/js/translated/table_filters.js:224 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:224 +#: templates/js/translated/table_filters.js:228 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:225 +#: templates/js/translated/table_filters.js:229 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:234 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:250 -#: templates/js/translated/table_filters.js:251 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:255 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:258 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:266 msgid "Tracked" msgstr "" -#: templates/js/translated/table_filters.js:263 +#: templates/js/translated/table_filters.js:267 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:272 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:269 +#: templates/js/translated/table_filters.js:273 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:282 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:284 +#: templates/js/translated/table_filters.js:288 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/table_filters.js:300 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:300 +#: templates/js/translated/table_filters.js:304 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:323 msgid "Build status" msgstr "生产状态" -#: templates/js/translated/table_filters.js:332 -#: templates/js/translated/table_filters.js:373 +#: templates/js/translated/table_filters.js:336 +#: templates/js/translated/table_filters.js:377 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:349 -#: templates/js/translated/table_filters.js:360 -#: templates/js/translated/table_filters.js:390 +#: templates/js/translated/table_filters.js:353 +#: templates/js/translated/table_filters.js:364 +#: templates/js/translated/table_filters.js:394 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:365 -#: templates/js/translated/table_filters.js:382 -#: templates/js/translated/table_filters.js:395 +#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:386 +#: templates/js/translated/table_filters.js:399 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:446 +#: templates/js/translated/table_filters.js:450 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:451 +#: templates/js/translated/table_filters.js:455 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:459 +#: templates/js/translated/table_filters.js:463 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:467 +#: templates/js/translated/table_filters.js:471 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:468 +#: templates/js/translated/table_filters.js:472 msgid "Part has internal part number" msgstr "商品有内部编号" -#: templates/js/translated/table_filters.js:472 +#: templates/js/translated/table_filters.js:476 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:480 +#: templates/js/translated/table_filters.js:484 msgid "Purchasable" msgstr "" @@ -10554,6 +10881,10 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/price_data.html:7 +msgid "No data" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" @@ -10738,35 +11069,35 @@ msgstr "权限" msgid "Important dates" msgstr "重要日期" -#: users/models.py:205 +#: users/models.py:207 msgid "Permission set" msgstr "权限设置" -#: users/models.py:213 +#: users/models.py:215 msgid "Group" msgstr "群组" -#: users/models.py:216 +#: users/models.py:218 msgid "View" msgstr "视图" -#: users/models.py:216 +#: users/models.py:218 msgid "Permission to view items" msgstr "查看项目权限" -#: users/models.py:218 +#: users/models.py:220 msgid "Permission to add items" msgstr "添加项目权限" -#: users/models.py:220 +#: users/models.py:222 msgid "Change" msgstr "更改" -#: users/models.py:220 +#: users/models.py:222 msgid "Permissions to edit items" msgstr "编辑项目权限" -#: users/models.py:222 +#: users/models.py:224 msgid "Permission to delete items" msgstr "删除项目权限"